<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Stride.Core</name>
    </assembly>
    <members>
        <member name="T:Stride.Core.AccessorMetadata">
            <summary>
            Metadata used for providing attached getter/setter to a <see cref="T:Stride.Core.PropertyKey"/>.
            </summary>
        </member>
        <member name="T:Stride.Core.AccessorMetadata.SetterDelegate">
            <summary>
            Setter delegate.
            </summary>
            <param name="propertyContainer">The property container holding the value.</param>
            <param name="value">The value to set</param>
        </member>
        <member name="T:Stride.Core.AccessorMetadata.GetterDelegate">
            <summary>
            Getter delegate
            </summary>
            <param name="propertyContainer">The property container holding the value.</param>
            <returns>Returns the value</returns>
        </member>
        <member name="M:Stride.Core.AccessorMetadata.#ctor(Stride.Core.AccessorMetadata.GetterDelegate,Stride.Core.AccessorMetadata.SetterDelegate)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.AccessorMetadata"/> class.
            </summary>
            <param name="getter">Getter delegate.</param>
            <param name="setter">Setter delegate.</param>
        </member>
        <member name="M:Stride.Core.AccessorMetadata.GetValue(Stride.Core.PropertyContainer@)">
            <summary>
            Gets the value from a <see cref="T:Stride.Core.PropertyContainer"/> associated to this getter.
            </summary>
            <param name="obj">the property container.</param>
            <returns>The value stored.</returns>
        </member>
        <member name="M:Stride.Core.AccessorMetadata.SetValue(Stride.Core.PropertyContainer@,System.Object)">
            <summary>
            Sets the value for a <see cref="T:Stride.Core.PropertyContainer"/> value.
            </summary>
            <param name="obj">The property container.</param>
            <param name="value">The value to set.</param>
        </member>
        <member name="T:Stride.Core.Annotations.CanBeNullAttribute">
            <summary>
            Indicates that the value of the marked element could be <c>null</c> sometimes, so the check for <c>null</c>
            is necessary before its usage.
            </summary>
            <example>
            <code>
            [CanBeNull] object Test() => null;
            
            void UseTest() {
              var p = Test();
              var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
            }
            </code>
            </example>
        </member>
        <member name="T:Stride.Core.Annotations.CategoryOrderAttribute">
            <summary>
            This attribute allows to associate an <see cref="P:Stride.Core.Annotations.CategoryOrderAttribute.Order"/> value to a category name.
            </summary>
        </member>
        <member name="P:Stride.Core.Annotations.CategoryOrderAttribute.Name">
            <summary>
            Gets or sets the name of the category.
            </summary>
        </member>
        <member name="P:Stride.Core.Annotations.CategoryOrderAttribute.Order">
            <summary>
            Gets or sets the order value of the category.
            </summary>
        </member>
        <member name="P:Stride.Core.Annotations.CategoryOrderAttribute.Expand">
            <summary>
            Gets or sets whether to expand the category in the UI.
            </summary>
        </member>
        <member name="T:Stride.Core.Annotations.DataMemberRangeAttribute">
            <summary>
            Defines range values for a property or field.
            </summary>
            <remarks><see cref="P:Stride.Core.Annotations.DataMemberRangeAttribute.Minimum"/>, <see cref="P:Stride.Core.Annotations.DataMemberRangeAttribute.Maximum"/> and <see cref="P:Stride.Core.Annotations.DataMemberRangeAttribute.SmallStep"/> must have the same type</remarks>
        </member>
        <member name="M:Stride.Core.Annotations.DataMemberRangeAttribute.#ctor(System.Double,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Annotations.DataMemberRangeAttribute" /> class.
            </summary>
            <param name="minimum">The minimum.</param>
            <param name="decimalPlaces">The decimal places</param>
        </member>
        <member name="M:Stride.Core.Annotations.DataMemberRangeAttribute.#ctor(System.Double,System.Double,System.Double,System.Double,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Annotations.DataMemberRangeAttribute" /> class.
            </summary>
            <param name="minimum">The minimum.</param>
            <param name="maximum">The maximum.</param>
            <param name="smallStep">The minimum step used to go from minimum to maximum.</param>
            <param name="largeStep">The maximum step used to go from minimum to maximum.</param>
            <param name="decimalPlaces">The decimal places.</param>
        </member>
        <member name="P:Stride.Core.Annotations.DataMemberRangeAttribute.Minimum">
            <summary>
            Gets the minimum inclusive.
            </summary>
            <value>The minimum.</value>
        </member>
        <member name="P:Stride.Core.Annotations.DataMemberRangeAttribute.Maximum">
            <summary>
            Gets the maximum inclusive.
            </summary>
            <value>The maximum.</value>
        </member>
        <member name="P:Stride.Core.Annotations.DataMemberRangeAttribute.SmallStep">
            <summary>
            Gets the minimum step.
            </summary>
            <value>The minimum step.</value>
        </member>
        <member name="P:Stride.Core.Annotations.DataMemberRangeAttribute.LargeStep">
            <summary>
            Gets the maximum step.
            </summary>
            <value>The maximum step.</value>
        </member>
        <member name="P:Stride.Core.Annotations.DataMemberRangeAttribute.DecimalPlaces">
            <summary>
            Gets the decimal places.
            </summary>
            <value>The decimal places.</value>
        </member>
        <member name="T:Stride.Core.Annotations.DynamicTypeAttributeBase">
            <summary>
            Base class for a dynamic type attribute.
            </summary>
        </member>
        <member name="M:Stride.Core.Annotations.DynamicTypeAttributeBase.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Annotations.DynamicTypeAttributeBase"/> class.
            </summary>
            <param name="type">The type.</param>
        </member>
        <member name="M:Stride.Core.Annotations.DynamicTypeAttributeBase.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Annotations.DynamicTypeAttributeBase"/> class.
            </summary>
            <param name="typeName">The type.</param>
        </member>
        <member name="P:Stride.Core.Annotations.DynamicTypeAttributeBase.TypeName">
            <summary>
            Gets the name of the <see cref="T:Stride.Core.Annotations.DynamicTypeAttributeBase"/> type
            </summary>
            <value>The name of the serializable type.</value>
        </member>
        <member name="T:Stride.Core.Annotations.InlinePropertyAttribute">
            <summary>
            This attribute indicates that the associated property should be inlined in its container presentation
            when displayed in a property grid.
            </summary>
        </member>
        <member name="P:Stride.Core.Annotations.InlinePropertyAttribute.Expand">
            <summary>
            Gets or sets whether to expand the inline property in the UI. The default is <see cref="F:Stride.Core.ExpandRule.Never"/>.
            </summary>
        </member>
        <member name="T:Stride.Core.Annotations.ItemCanBeNullAttribute">
            <summary>
            Can be appplied to symbols of types derived from <see cref="T:System.Collections.Generic.IEnumerable`1"/>
            as well as to symbols of <see cref="T:System.Threading.Tasks.Task"/> and <see cref="T:System.Lazy`1"/> classes
            to indicate that the value of a collection item, of the Task.Result property or of the Lazy.Value property
            can be <c>null</c>.
            </summary>
        </member>
        <member name="T:Stride.Core.Annotations.ItemNotNullAttribute">
            <summary>
            Can be appplied to symbols of types derived from <see cref="T:System.Collections.Generic.IEnumerable`1"/>
            as well as to symbols of <see cref="T:System.Threading.Tasks.Task"/> and <see cref="T:System.Lazy`1"/> classes
            to indicate that the value of a collection item, of the Task.Result property or of the Lazy.Value property
            can never be <c>null</c>.
            </summary>
        </member>
        <member name="T:Stride.Core.Annotations.MemberCollectionAttribute">
            <summary>
            This attributes provides additional information on a member collection.
            </summary>
        </member>
        <member name="P:Stride.Core.Annotations.MemberCollectionAttribute.ReadOnly">
            <summary>
            Gets or sets whether this collection is read-only. If <c>true</c>, applications using this collection
            should not allow adding or removing items.
            </summary>
        </member>
        <member name="P:Stride.Core.Annotations.MemberCollectionAttribute.CanReorderItems">
            <summary>
            Gets or sets whether the items of this collection can be reordered. If <c>true</c>, applications using
            this collection should provide users a way to reorder items.
            </summary>
        </member>
        <member name="P:Stride.Core.Annotations.MemberCollectionAttribute.NotNullItems">
            <summary>
            Gets or sets whether the items of this collection can be null. If <c>true</c>, applications using
            this collection should prevent user to add null items to the collection.
            </summary>
        </member>
        <member name="T:Stride.Core.Annotations.MemberRequiredAttribute">
            <summary>
            This attribute signals the asset compiler that the field/property
            is required to have a value (i.e. not null) when compiling assets.
            </summary>
        </member>
        <member name="P:Stride.Core.Annotations.MemberRequiredAttribute.ReportAs">
            <summary>
            Gets or sets the reporting level (warning/error) of the notification that the field/property is null.
            </summary>
        </member>
        <member name="T:Stride.Core.Annotations.MemberRequiredReportType">
            <summary>
            Specifies the reporting level for a missing value of a field/property with a <see cref="T:Stride.Core.Annotations.MemberRequiredAttribute"/>.
            </summary>
        </member>
        <member name="F:Stride.Core.Annotations.MemberRequiredReportType.Warning">
            <summary>
            Report missing required member as a warning.
            </summary>
        </member>
        <member name="F:Stride.Core.Annotations.MemberRequiredReportType.Error">
            <summary>
            Report missing required member as an error.
            </summary>
        </member>
        <member name="T:Stride.Core.Annotations.NonIdentifiableCollectionItemsAttribute">
            <summary>
            This attribute indicates that a collection should not be serialized with identifiers associated to each of its item.
            </summary>
            <remarks>
            When this attribute is attached to a type (class or struct), any collection in that type or in a nested type will be serialized without identifier.
            When this attribute is attached to a member (property of field) that is a collection, only this collection will be serialized without identifier.
            </remarks>
        </member>
        <member name="T:Stride.Core.Annotations.NonInstantiableAttribute">
            <summary>
            This attribute indicates that the associated type cannot be instanced in the property grid
            </summary>
        </member>
        <member name="T:Stride.Core.Annotations.NonOverridableAttribute">
            <summary>
            This attribute notifies that the attached member cannot be overridden.
            </summary>
        </member>
        <member name="T:Stride.Core.Annotations.NotNullAttribute">
            <summary>
            Indicates that the value of the marked element could never be <c>null</c>.
            </summary>
            <example>
            <code>
            [NotNull] object Foo() {
              return null; // Warning: Possible 'null' assignment
            }
            </code>
            </example>
        </member>
        <member name="T:Stride.Core.Annotations.ObjectFactoryAttribute">
            <summary>
            An attribute that defines a factory class implementing <see cref="T:Stride.Core.Reflection.IObjectFactory"/>, used to create instances of the related type in design-time scenarios.
            </summary>
        </member>
        <member name="P:Stride.Core.Annotations.ObjectFactoryAttribute.FactoryType">
            <summary>
            The type of the factory to use to create instance of the related type.
            </summary>
        </member>
        <member name="M:Stride.Core.Annotations.ObjectFactoryAttribute.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Annotations.ObjectFactoryAttribute"/> class.
            </summary>
            <param name="factoryType">The factory type that implements <see cref="T:Stride.Core.Reflection.IObjectFactory"/>.</param>
        </member>
        <member name="T:Stride.Core.AnonymousDisposable">
            <summary>
            This class allows implementation of <see cref="T:System.IDisposable"/> using anonymous functions.
            The anonymous function will be invoked only on the first call to the <see cref="M:Stride.Core.AnonymousDisposable.Dispose"/> method.
            </summary>
        </member>
        <member name="M:Stride.Core.AnonymousDisposable.#ctor(System.Action)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.AnonymousDisposable"/> class.
            </summary>
            <param name="onDispose">The anonymous function to invoke when this object is disposed.</param>
        </member>
        <member name="M:Stride.Core.AnonymousDisposable.Dispose">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Collections.ConstrainedList`1">
            <summary>
            Represent a collection associated with a constraint. When an item is added to this collection, it is tested against the constraint.
            If the test fails, the item can either be discarded, or an exception can be thrown. The desired behavior can be defined with <see cref="P:Stride.Core.Collections.ConstrainedList`1.ThrowException"/>.
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.ConstrainedList`1.ThrowException">
            <summary>
            Gets or sets whether the collection should throw an <see cref="T:System.ArgumentException"/> when an item to add or insert doesn't pass the constraint.
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.ConstrainedList`1.Constraint">
            <summary>
            Gets or sets the constraint for items added to the collection. If <c>null</c>, this collection behaves like a <see cref="T:System.Collections.Generic.List`1"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.ConstrainedList`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.ConstrainedList`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.ConstrainedList`1.Add(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.ConstrainedList`1.Clear">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.ConstrainedList`1.Contains(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.ConstrainedList`1.CopyTo(`0[],System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.ConstrainedList`1.Remove(`0)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.ConstrainedList`1.Count">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.ConstrainedList`1.IsReadOnly">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.ConstrainedList`1.IndexOf(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.ConstrainedList`1.Insert(System.Int32,`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.ConstrainedList`1.RemoveAt(System.Int32)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.ConstrainedList`1.Item(System.Int32)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Collections.FastCollection`1">
            <summary>
            Faster and lighter implementation of <see cref="T:System.Collections.ObjectModel.Collection`1"/> with value types enumerators to avoid allocation in foreach loops, and various helper functions.
            </summary>
            <typeparam name="T">Type of elements of this collection </typeparam>
        </member>
        <member name="P:Stride.Core.Collections.FastCollection`1.Item(System.Int32)">
            <summary>
            Gets or sets the element <typeparamref name="T"/> at the specified index.
            </summary>
            <param name="index">The index.</param>
            <value>
            The element <typeparamref name="T"/>.
            </value>
            <returns>The element at the specified index</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If index is out of range</exception>
        </member>
        <member name="M:Stride.Core.Collections.FastCollection`1.AddRange``1(``0)">
            <summary>
            Adds the elements of the specified source to the end of <see cref="T:Stride.Core.Collections.FastCollection`1"/>.
            </summary>
            <param name="itemsArgs">The items to add to this collection.</param>
        </member>
        <member name="M:Stride.Core.Collections.FastCollection`1.GetEnumerator">
            <summary>
            Inline Enumerator used directly by foreach.
            </summary>
            <returns>An enumerator of this collection</returns>
        </member>
        <member name="T:Stride.Core.Collections.FastList`1">
            <summary>
            Similar to <see cref="T:System.Collections.Generic.List`1"/>, with direct access to underlying array.
            </summary>
            <typeparam name="T">The type of elements in the list.</typeparam>
        </member>
        <member name="P:Stride.Core.Collections.FastList`1.Items">
            <summary>
            Gets the items.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.FastList`1.Clear(System.Boolean)">
            <summary>
            Clears this list with a fast-clear option.
            </summary>
            <param name="fastClear">if set to <c>true</c> this method only resets the count elements but doesn't clear items referenced already stored in the list.</param>
        </member>
        <member name="F:Stride.Core.Collections.FastListStruct`1.Items">
            <summary>
            Gets the items.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.FastListStruct`1.SwapRemoveAt(System.Int32)">
            <summary>
            Remove an item by swapping it with the last item and removing it from the last position. This function prevents to shift values from the list on removal but does not maintain order.
            </summary>
            <param name="index">Index of the item to remove.</param>
        </member>
        <member name="T:Stride.Core.Collections.FastTrackingCollection`1">
            <summary>
            Represents a collection that generates events when items get added or removed.
            </summary>
            <typeparam name="T">The type of elements in the collection.</typeparam>
        </member>
        <member name="M:Stride.Core.Collections.FastTrackingCollection`1.InsertItem(System.Int32,`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.FastTrackingCollection`1.RemoveItem(System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.FastTrackingCollection`1.ClearItems">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.FastTrackingCollection`1.SetItem(System.Int32,`0)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.FastTrackingCollectionChangedEventArgs.Action">
            <summary>
            Gets the type of action performed.
            Allowed values are <see cref="F:System.Collections.Specialized.NotifyCollectionChangedAction.Add"/> and <see cref="F:System.Collections.Specialized.NotifyCollectionChangedAction.Remove"/>.
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.FastTrackingCollectionChangedEventArgs.Item">
            <summary>
            Gets the added or removed item (if dictionary, value only).
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.FastTrackingCollectionChangedEventArgs.OldItem">
            <summary>
            Gets the previous value. Only valid if <see cref="P:Stride.Core.Collections.FastTrackingCollectionChangedEventArgs.Action"/> is <see cref="F:System.Collections.Specialized.NotifyCollectionChangedAction.Add"/> and <see cref="!:"/>
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.FastTrackingCollectionChangedEventArgs.Key">
            <summary>Gets the added or removed key (if dictionary).</summary>
        </member>
        <member name="P:Stride.Core.Collections.FastTrackingCollectionChangedEventArgs.Index">
            <summary>
            Gets the index in the collection (if applicable).
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.FastTrackingCollectionChangedEventArgs.CollectionChanged">
            <summary>
            Gets a value indicating whether [collection changed (not a replacement but real insertion/removal)].
            </summary>
            <value>
              <c>true</c> if [collection changed]; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:Stride.Core.Collections.IndexingDictionary`1">
            <summary>
            A dictionary that maps index values to items. It uses a sparse list internally for storage.
            </summary>
            <typeparam name="T">The type of item indexed in this collection.</typeparam>
        </member>
        <member name="T:Stride.Core.Collections.IReadOnlySet`1">
            <summary>
            Represents a strongly-typed, read-only set of element.
            </summary>
            <typeparam name="T">The type of the elements.</typeparam>
        </member>
        <member name="M:Stride.Core.Collections.IReadOnlySet`1.Contains(`0)">
            <summary>
            Determines whether the set [contains] [the specified item].
            </summary>
            <param name="item">The item.</param>
            <returns>
              <c>true</c> if the set [contains] [the specified item]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="E:Stride.Core.Collections.ITrackingCollectionChanged.CollectionChanged">
            <summary>
            Occurs when [collection changed].
            </summary>
            Called as is when adding an item, and in reverse-order when removing an item.
        </member>
        <member name="T:Stride.Core.Collections.KeyedSortedList`2">
            <summary>
            List of items, stored sequentially and sorted by an implicit invariant key that are extracted from items by implementing <see cref="M:Stride.Core.Collections.KeyedSortedList`2.GetKeyForItem(`1)"/>.
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="T">The type of the item in the collection.</typeparam>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.GetKeyForItem(`1)">
            <summary>
            Extracts the key for the specified element.
            </summary>
            <param name="item">The element from which to extract the key.</param>
            <returns>The key for the specified item.</returns>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.InsertItem(System.Int32,`1)">
            <summary>
            Called every time an item should be added at a given index.
            </summary>
            <param name="index">The index.</param>
            <param name="item">The item.</param>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.RemoveItem(System.Int32)">
            <summary>
            Called every time an item should be removed at a given index.
            </summary>
            <param name="index">The index.</param>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.Sort">
            <summary>
            Sorts again this list (in case keys were mutated).
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.Add(`1)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.Clear">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.Contains(`1)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.System#Collections#Generic#ICollection{T}#CopyTo(`1[],System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.System#Collections#Generic#ICollection{T}#Remove(`1)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.KeyedSortedList`2.Count">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.KeyedSortedList`2.System#Collections#ICollection#SyncRoot">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.KeyedSortedList`2.System#Collections#ICollection#IsSynchronized">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.KeyedSortedList`2.System#Collections#Generic#ICollection{T}#IsReadOnly">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.KeyedSortedList`2.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Collections.MultiValueSortedDictionary`2">
            <summary>
            Represents a priority queue, where keys are sorted and each key might have mlutiple values.
            </summary>
            <remarks>
            Storage is based on a <see cref="!:SortedDictionary&lt;TKey, List&lt;TValue&gt;&gt;"/>.
            </remarks>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.#ctor">
            <summary>
            Initializes a new instance of the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;
            class that is empty and uses the default System.Collections.Generic.IComparer&lt;TKey&gt;
            implementation to compare keys.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.#ctor(System.Collections.Generic.IComparer{`0})">
            <summary>
            Initializes a new instance of the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;
            class that is empty and uses the specified System.Collections.Generic.IComparer&lt;TKey&gt;
            implementation to compare keys.
            </summary>
            <param name="comparer">
            The System.Collections.Generic.IComparer&lt;TKey&gt; implementation to use when comparing
            keys, or null to use the default System.Collections.Generic.Comparer&lt;TKey&gt; for
            the type of the key.
            </param>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.#ctor(System.Collections.Generic.IDictionary{`0,`1})">
            <summary>
            Initializes a new instance of the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;
            class that contains elements copied from the specified System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;
            and uses the default System.Collections.Generic.IComparer&lt;T&gt; implementation
            for the key type.
            </summary>
            <param name="dictionary">
            The System.Collections.Generic.IDictionary&lt;TKey,TValue&gt; whose elements are
            copied to the new KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </param>
            <exception cref="T:System.ArgumentNullException">dictionary is null</exception>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.#ctor(System.Collections.Generic.IDictionary{`0,`1},System.Collections.Generic.IComparer{`0})">
            <summary>
            Initializes a new instance of the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;
            class that contains elements copied from the specified System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;
            and uses the specified System.Collections.Generic.IComparer&lt;TKey&gt; implementation
            to compare keys.
            </summary>
            <param name="dictionary">
            The System.Collections.Generic.IDictionary&lt;TKey,TValue&gt; whose elements are
            copied to the new KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </param>
            <param name="comparer">
            The System.Collections.Generic.IComparer&lt;T&gt; implementation to use when comparing
            keys, or null to use the default System.Collections.Generic.Comparer&lt;TKey&gt; for
            the type of the key.
            </param>
            <exception cref="T:System.ArgumentNullException">dictionary is null</exception>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.Comparer">
            <summary>
            Gets the System.Collections.Generic.IComparer&lt;TKey&gt; used to order the elements
            of the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
            <returns>
            The System.Collections.Generic.IComparer&lt;TKey&gt; used to order the elements of
            the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;
            </returns>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.Count">
            <summary>
            Gets the number of key/value pairs contained in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
            <returns>
            The number of key/value pairs contained in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </returns>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.Keys">
            <summary>
            Gets a collection containing the keys in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
            <returns>
            A KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.KeyCollection
            containing the keys in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </returns>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.Values">
            <summary>
            Gets a collection containing the values in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
            <returns>
            A KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection
            containing the keys in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </returns>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.Item(`0)">
            <summary>
            Gets or sets the value associated with the specified key.
            </summary>
            <param name="key">
            The key of the value to get or set.
            </param>
            <returns>
            The value associated with the specified key. If the specified key is not
            found, a get operation throws a System.Collections.Generic.KeyNotFoundException,
            and a set operation creates a new element with the specified key.
            </returns>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">
            The property is retrieved and key does not exist in the collection.
            </exception>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.Add(`0,`1)">
            <summary>
            Adds an element with the specified key and value into the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
            <param name="key">
            The key of the element to add.
            </param>
            <param name="value">
            The value of the element to add. The value can be null for reference types.
            </param>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.Clear">
            <summary>
            Removes all elements from the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.ContainsKey(`0)">
            <summary>
            Determines whether the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;
            contains an element with the specified key.
            </summary>
            <param name="key">
            The key to locate in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </param>
            <returns>
            true if the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt; contains
            an element with the specified key; otherwise, false.
            </returns>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.ContainsValue(`1)">
            <summary>
            Determines whether the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;
            contains an element with the specified value.
            </summary>
            <param name="value">
            The value to locate in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            The value can be null for reference types.
            </param>
            <returns>
            true if the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt; contains
            an element with the specified value; otherwise, false.
            </returns>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <summary>
            Copies the elements of the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;
            to the specified array of <see cref="T:System.Collections.Generic.KeyValuePair`2"/>
            structures, starting at the specified index.
            </summary>
            <param name="array">
            The one-dimensional array of <see cref="T:System.Collections.Generic.KeyValuePair`2"/>
            structures that is the destination of the elements copied from the current
            KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt; The array must have
            zero-based indexing.
            </param>
            <param name="index">
            The zero-based index in array at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException">array is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            index is equal to or greater than the length of array.  -or- index is less
            than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            The number of elements in the source KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;
            is greater than the available space from index to the end of the destination
            array.
            </exception>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
            <returns>
            A KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.Enumerator for
            the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </returns>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Removes the element with the specified key from the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
            <param name="item">
            The key of the element to remove.
            </param>
            <returns>
            true if the element is successfully removed; otherwise, false. This method
            also returns false if key is not found in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </returns>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.Remove(`0)">
            <summary>
            Removes the elements with the specified key from the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
            <param name="key">
            The key of the element to remove.
            </param>
            <returns>
            true if the element is successfully removed; otherwise, false. This method
            also returns false if key is not found in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </returns>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.TryGetValue(`0,`1@)">
            <summary>
            Gets the value associated with the specified key.
            </summary>
            <param name="key">
            The key of the value to get.
            </param>
            <param name="value">
            When this method returns, the value associated with the specified key, if
            the key is found; otherwise, the default value for the type of the value
            parameter.
            </param>
            <returns>
            true if the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt; contains
            an element with the specified key; otherwise, false.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            key is null.
            </exception>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.TryGetValue(`0,System.Collections.Generic.IEnumerable{`1}@)">
            <summary>
            Gets the value associated with the specified key.
            </summary>
            <param name="key">
            The key of the value to get.
            </param>
            <param name="values">
            When this method returns, the values associated with the specified key, if
            the key is found; otherwise null.
            </param>
            <returns>
            true if the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt; contains
            an element with the specified key; otherwise, false.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            key is null.
            </exception>
        </member>
        <member name="T:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection">
            <summary>
            Represents the collection of values in a KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            This class cannot be inherited
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.#ctor(Stride.Core.Collections.MultiValueSortedDictionary{`0,`1})">
            <summary>
            Initializes a new instance of the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection
            class that reflects the values in the specified KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
            <param name="dictionary">
            The KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt; whose values
            are reflected in the new KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection.
            </param>
            <exception cref="T:System.ArgumentNullException">
            dictionary is null.
            </exception>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.Count">
            <summary>
            Gets the number of elements contained in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection.
            </summary>
            <returns>
            The number of elements contained in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection.
            </returns>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.CopyTo(`1[],System.Int32)">
            <summary>
            Copies the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection
            elements to an existing one-dimensional array, starting at the specified
            array index.
            </summary>
            <param name="array">
            The one-dimensional array that is the destination of the elements copied
            from the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection.
            The array must have zero-based indexing.
            </param>
            <param name="index">
            The zero-based index in array at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException">
            array is null.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            index is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException">
            index is equal to or greater than the length of array.  -or- The number of
            elements in the source KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection
            is greater than the available space from index to the end of the destination
            array.
            </exception>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection.
            </summary>
            <returns>
            A KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection.Enumerator
            structure for the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection.
            </returns>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.System#Collections#Generic#ICollection{TValue}#IsReadOnly">
            <summary>
            Gets a value indicating whether the KoderHack.MultiValueSortedDictionary.ValueCollection is read-only.
            </summary>
            <returns>
            true if the KoderHack.MultiValueSortedDictionary.ValueCollection is read-only; otherwise false.
            </returns>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.System#Collections#ICollection#IsSynchronized">
            <summary>
            Gets a value indicating whether access to the System.Collections.ICollection
            is synchronized (thread safe).
            </summary>
            <returns>
            true if access to the System.Collections.ICollection is synchronized (thread
            safe); otherwise, false.
            </returns>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.System#Collections#ICollection#SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the System.Collections.ICollection.
            </summary>
            <returns>
            An object that can be used to synchronize access to the System.Collections.ICollection.
            </returns>
        </member>
        <member name="T:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.Enumerator">
            <summary>
            Enumerates the elements of a KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection.
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.Enumerator.Current">
            <summary>
            Gets the element at the current position of the enumerator.
            </summary>
            <returns>
            The element in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection
            at the current position of the enumerator.
            </returns>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.Enumerator.Dispose">
            <summary>
            Releases all resources used by the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection.Enumerator.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element of the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection.
            </summary>
            <returns>
            true if the enumerator was successfully advanced to the next element; false
            if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.Enumerator.System#Collections#IEnumerator#Current">
            <summary>
            Gets the element at the current position of the enumerator.
            </summary>
            <returns>
            The element in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection
            at the current position of the enumerator.
            </returns>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.ValueCollection.Enumerator.System#Collections#IEnumerator#Reset">
            <summary>
            Sets the enumerator to its initial position, which is before the first element
            in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="T:Stride.Core.Collections.MultiValueSortedDictionary`2.Enumerator">
            <summary>
            Enumerates the elements of a KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.Enumerator.Current">
            <summary>
            Gets the element at the current position of the enumerator.
            </summary>
            <returns>
            The element in the <see cref="T:System.Collections.Generic.SortedDictionary`2"/>
            at the current position of the enumerator.
            </returns>  
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.Enumerator.System#Collections#IDictionaryEnumerator#Entry">
            <summary>
            Gets both the key and the value of the current dictionary entry.
            </summary>
            <returns>
            A System.Collections.DictionaryEntry containing both the key and the value
            of the current dictionary entry.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The System.Collections.IDictionaryEnumerator is positioned before the first
            entry of the dictionary or after the last entry.
            </exception>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.Enumerator.System#Collections#IDictionaryEnumerator#Key">
            <summary>
            Gets the key of the current dictionary entry.
            </summary>
            <returns>
            The key of the current element of the enumeration.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The System.Collections.IDictionaryEnumerator is positioned before the first
            entry of the dictionary or after the last entry.
            </exception>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.Enumerator.System#Collections#IDictionaryEnumerator#Value">
            <summary>
            Gets the value of the current dictionary entry.
            </summary>
            <returns>
            The value of the current element of the enumeration.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The System.Collections.IDictionaryEnumerator is positioned before the first
            entry of the dictionary or after the last entry.
            </exception>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.Enumerator.Dispose">
            <summary>
            Releases all resources used by the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.Enumerator.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element of the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.
            </summary>
            <returns>
            true if the enumerator was successfully advanced to the next element; false
            if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="P:Stride.Core.Collections.MultiValueSortedDictionary`2.Enumerator.System#Collections#IEnumerator#Current">
            <summary>
            Gets the element at the current position of the enumerator.
            </summary>
            <returns>
            The element in the KoderHack.MultiValueSortedDictionary&lt;TKey,TValue&gt;.ValueCollection
            at the current position of the enumerator.
            </returns>
        </member>
        <member name="M:Stride.Core.Collections.MultiValueSortedDictionary`2.Enumerator.System#Collections#IEnumerator#Reset">
            <summary>
            Sets the enumerator to its initial position, which is before the first element
            in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="T:Stride.Core.Collections.MultiValueSortedList`2">
            <summary>
            Represents a priority queue, where keys are sorted and each key might have mlutiple values.
            </summary>
            <remarks>
            Storage is based on a <see cref="T:System.Collections.Generic.List`1"/> and a <see cref="!:List&lt;KeyValuePair&lt;TKey, TValue&gt;&gt;"/>.
            </remarks>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
        </member>
        <member name="T:Stride.Core.Collections.NamespaceDoc">
            <summary>
            The <see cref="N:Stride.Core.Collections"/> namespace contains classes that define various additional collection types.
            </summary>
        </member>
        <member name="T:Stride.Core.Collections.OrderedCollection`1">
            <summary>
            A collection that maintains the order of the elements  and lightter implementation of <see cref="T:System.Collections.ObjectModel.Collection`1"/> with value types enumerators to avoid allocation in foreach loops, and various helper functions.
            </summary>
            <typeparam name="T">Type of elements of this collection </typeparam>
        </member>
        <member name="M:Stride.Core.Collections.OrderedCollection`1.#ctor(System.Collections.Generic.IComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Collections.OrderedCollection`1"/> class.
            </summary>
            <param name="comparer">The comparer providing information about order between elements.</param>
            <exception cref="T:System.ArgumentNullException">If comparer is null</exception>
        </member>
        <member name="M:Stride.Core.Collections.OrderedCollection`1.#ctor(System.Collections.Generic.IComparer{`0},System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Collections.OrderedCollection`1"/> class with a default capacity.
            </summary>
            <param name="comparer">The comparer.</param>
            <param name="capacity">The capacity.</param>
        </member>
        <member name="P:Stride.Core.Collections.OrderedCollection`1.Item(System.Int32)">
            <summary>
            Gets the element <typeparamref name="T"/> at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>The element at the specified index</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">If index is out of range</exception>
        </member>
        <member name="M:Stride.Core.Collections.OrderedCollection`1.ClearItems">
            <summary>
            Clears all the items in this collection. Can be overriden.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.OrderedCollection`1.AddItem(`0)">
            <summary>
            Adds an item to this collection. Can be overriden.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:Stride.Core.Collections.OrderedCollection`1.AddRange``1(``0)">
            <summary>
            Adds the elements of the specified source to the end of <see cref="T:Stride.Core.Collections.FastCollection`1"/>.
            </summary>
            <param name="itemsArgs">The items to add to this collection.</param>
        </member>
        <member name="M:Stride.Core.Collections.OrderedCollection`1.GetEnumerator">
            <summary>
            Inline Enumerator used directly by foreach.
            </summary>
            <returns>An enumerator of this collection</returns>
        </member>
        <member name="T:Stride.Core.Collections.PoolListStruct`1">
            <summary>
            A pool of objects allocated and can be cleared without losing previously allocated instance.
            </summary>
            <typeparam name="T">Type of the pooled object</typeparam>
        </member>
        <member name="F:Stride.Core.Collections.PoolListStruct`1.allocated">
            <summary>
            The list of allocated objects.
            </summary>
        </member>
        <member name="F:Stride.Core.Collections.PoolListStruct`1.Count">
            <summary>
            The number of objects in use, readonly.
            </summary>
        </member>
        <member name="F:Stride.Core.Collections.PoolListStruct`1.factory">
            <summary>
            A factory to allocate new objects.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.PoolListStruct`1.#ctor(System.Int32,System.Func{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Collections.PoolListStruct`1"/> struct.
            </summary>
            <param name="capacity">The capacity.</param>
            <param name="factory">The factory.</param>
            <exception cref="T:System.ArgumentNullException">factory</exception>
        </member>
        <member name="M:Stride.Core.Collections.PoolListStruct`1.Clear">
            <summary>
            Clears objects in use and keep allocated objects.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.PoolListStruct`1.Reset">
            <summary>
            Resets this instance by releasing allocated objects.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.PoolListStruct`1.Add">
            <summary>
            Adds a new object in use to this instance.
            </summary>
            <returns>An instance of T</returns>
        </member>
        <member name="M:Stride.Core.Collections.PoolListStruct`1.IndexOf(`0)">
            <summary>
            Gets the index of <paramref name="item"/>
            </summary>
            <param name="item">The item to get the index of</param>
            <returns>Index of the item, or -1 if the item is not in this list</returns>
        </member>
        <member name="M:Stride.Core.Collections.PoolListStruct`1.Remove(`0)">
            <summary>
            Removes the object from the list
            </summary>
            <param name="item">The item to remove</param>
            <remarks>The item is added back in the pool to be reused for the next <see cref="M:Stride.Core.Collections.PoolListStruct`1.Add"/></remarks>
        </member>
        <member name="P:Stride.Core.Collections.PoolListStruct`1.Item(System.Int32)">
            <summary>
            Gets or sets the item at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>An instance of T</returns>
        </member>
        <member name="P:Stride.Core.Collections.PoolListStruct`1.Item(System.UInt32)">
            <summary>
            Gets or sets the item at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>An instance of T</returns>
        </member>
        <member name="T:Stride.Core.Collections.PriorityNodeQueue`1">
            <summary>
            Implements a priority queue of type T.
            
            Elements may be added to the queue in any order, but when we pull
            elements out of the queue, they will be returned in 'ascending' order.
            Adding new elements into the queue may be done at any time, so this is
            useful to implement a dynamically growing and shrinking queue. Both adding
            an element and removing the first element are log(N) operations. 
            
            The queue is implemented using a priority-heap data structure. For more 
            details on this elegant and simple data structure see "Programming Pearls"
            in our library. The tree is implemented atop a list, where 2N and 2N+1 are
            the child nodes of node N. The tree is balanced and left-aligned so there
            are no 'holes' in this list.
            </summary>
            <typeparam name="T">Type T.</typeparam>
        </member>
        <member name="F:Stride.Core.Collections.PriorityNodeQueue`1.items">
            <summary>The List we use for implementation.</summary>
        </member>
        <member name="M:Stride.Core.Collections.PriorityNodeQueue`1.Clear">
            <summary>Clear all the elements from the priority queue</summary>
        </member>
        <member name="M:Stride.Core.Collections.PriorityNodeQueue`1.Remove(Stride.Core.Collections.PriorityQueueNode{`0})">
            <summary>
            Removes the specified item.
            </summary>
            <param name="item">The item to remove.</param>
        </member>
        <member name="M:Stride.Core.Collections.PriorityNodeQueue`1.Enqueue(`0)">
            <summary>Add an element to the priority queue - O(log(n)) time operation.</summary>
            <param name="item">The item to be added to the queue</param>
            <returns>A node representing the item.</returns>
        </member>
        <member name="M:Stride.Core.Collections.PriorityNodeQueue`1.Enqueue(Stride.Core.Collections.PriorityQueueNode{`0})">
            <summary>Add an element to the priority queue - O(log(n)) time operation.</summary>
            <param name="item">The item to be added to the queue</param>
        </member>
        <member name="P:Stride.Core.Collections.PriorityNodeQueue`1.Count">
            <summary>Returns the number of elements in the queue.</summary>
        </member>
        <member name="P:Stride.Core.Collections.PriorityNodeQueue`1.Empty">
            <summary>Returns true if the queue is empty.</summary>
            Trying to call Peek() or Next() on an empty queue will throw an exception.
            Check using Empty first before calling these methods.
        </member>
        <member name="M:Stride.Core.Collections.PriorityNodeQueue`1.Peek">
            <summary>Allows you to look at the first element waiting in the queue, without removing it.</summary>
            This element will be the one that will be returned if you subsequently call Next().
        </member>
        <member name="M:Stride.Core.Collections.PriorityNodeQueue`1.Dequeue">
            <summary>Removes and returns the first element from the queue (least element)</summary>
            <returns>The first element in the queue, in ascending order.</returns>
        </member>
        <member name="T:Stride.Core.Collections.PriorityQueue`1">
            <summary>
            Represents a sorted queue, with logarithmic time insertion and deletion.
            </summary>
            <typeparam name="T">The type of the elements in the queue.</typeparam>
        </member>
        <member name="F:Stride.Core.Collections.PriorityQueue`1.items">
            <summary>
            Underlying list.
            </summary>
        </member>
        <member name="F:Stride.Core.Collections.PriorityQueue`1.comparer">
            <summary>
            Used to sort and compare elements.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.PriorityQueue`1.Clear">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.PriorityQueue`1.Remove(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.PriorityQueue`1.Enqueue(`0)">
            <summary>
            Adds an object to the <see cref="T:Stride.Core.Collections.PriorityQueue`1"/> and sorts underlying container.
            </summary>
            <param name="item">The object to add to the queue.</param>
        </member>
        <member name="P:Stride.Core.Collections.PriorityQueue`1.Count">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.PriorityQueue`1.Empty">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.PriorityQueue`1.Peek">
            <summary>
            Returns the object at the beginning of the <see cref="T:Stride.Core.Collections.PriorityQueue`1"/>, without removing it.
            </summary>
            <returns>The object at the beginning of the <see cref="T:Stride.Core.Collections.PriorityQueue`1"/>.</returns>
        </member>
        <member name="M:Stride.Core.Collections.PriorityQueue`1.Dequeue">
            <summary>
            Removes and returns the object at the beginning of the <see cref="T:Stride.Core.Collections.PriorityQueue`1"/>.
            </summary>
            <returns>The object at the beginning of the <see cref="T:Stride.Core.Collections.PriorityQueue`1"/>.</returns>
        </member>
        <member name="T:Stride.Core.Collections.PriorityQueueNode`1">
            <summary>
            Represents a node in a priority queue, to allow O(n) removal.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:Stride.Core.Collections.ReadOnlySet`1">
            <summary>
            Represents a strongly-typed, read-only set of element.
            </summary>
            <typeparam name="T">The type of the elements.</typeparam>
        </member>
        <member name="T:Stride.Core.Collections.SafeList`1">
            <summary>
            A list to ensure that all items are not null.
            </summary>
            <typeparam name="T">Type of the item</typeparam>
        </member>
        <member name="M:Stride.Core.Collections.SafeList`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Collections.SafeList`1"/> class.
            </summary>
        </member>
        <member name="T:Stride.Core.Collections.SortedList`2">
            <summary>
             Represents a collection of associated keys and values
             that are sorted by the keys and are accessible by key
             and by index.
            </summary>
        </member>
        <member name="T:Stride.Core.Collections.TrackingCollection`1">
            <summary>
            Represents a collection that generates events when items get added or removed.
            </summary>
            <typeparam name="T">The type of elements in the collection.</typeparam>
        </member>
        <member name="E:Stride.Core.Collections.TrackingCollection`1.CollectionChanged">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingCollection`1.InsertItem(System.Int32,`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingCollection`1.RemoveItem(System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingCollection`1.ClearItems">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingCollection`1.SetItem(System.Int32,`0)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingCollectionChangedEventArgs.Action">
            <summary>
            Gets the type of action performed.
            Allowed values are <see cref="F:System.Collections.Specialized.NotifyCollectionChangedAction.Add"/> and <see cref="F:System.Collections.Specialized.NotifyCollectionChangedAction.Remove"/>.
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.TrackingCollectionChangedEventArgs.Item">
            <summary>
            Gets the added or removed item (if dictionary, value only).
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.TrackingCollectionChangedEventArgs.OldItem">
            <summary>
            Gets the previous value. Only valid if <see cref="P:Stride.Core.Collections.TrackingCollectionChangedEventArgs.Action"/> is <see cref="F:System.Collections.Specialized.NotifyCollectionChangedAction.Add"/> and <see cref="!:"/>
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.TrackingCollectionChangedEventArgs.Key">
            <summary>Gets the added or removed key (if dictionary).</summary>
        </member>
        <member name="P:Stride.Core.Collections.TrackingCollectionChangedEventArgs.Index">
            <summary>
            Gets the index in the collection (if applicable).
            </summary>
        </member>
        <member name="P:Stride.Core.Collections.TrackingCollectionChangedEventArgs.CollectionChanged">
            <summary>
            Gets a value indicating whether [collection changed (not a replacement but real insertion/removal)].
            </summary>
            <value>
              <c>true</c> if [collection changed]; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:Stride.Core.Collections.TrackingDictionary`2">
            <summary>
            Represents a dictionary of key/value pairs that generates events when items get added or removed.
            </summary>
            <remarks>
            Underlying storage is done with a <see cref="T:System.Collections.Generic.Dictionary`2"/>.
            </remarks>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
        </member>
        <member name="E:Stride.Core.Collections.TrackingDictionary`2.CollectionChanged">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Collections.TrackingDictionary`2"/> class.
            </summary>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.Add(`0,`1)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.ContainsKey(`0)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingDictionary`2.Keys">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.Remove(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.TryGetValue(`0,`1@)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingDictionary`2.Values">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingDictionary`2.Item(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.Clear">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingDictionary`2.Count">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingDictionary`2.IsReadOnly">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.System#Collections#IDictionary#GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingDictionary`2.System#Collections#IDictionary#IsFixedSize">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingDictionary`2.System#Collections#IDictionary#Keys">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingDictionary`2.System#Collections#IDictionary#Values">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingDictionary`2.System#Collections#IDictionary#Item(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingDictionary`2.System#Collections#ICollection#IsSynchronized">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingDictionary`2.System#Collections#ICollection#SyncRoot">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Collections.TrackingHashSet`1">
            <summary>
            Represents a hash set that generates events when items get added or removed.
            </summary>
            <remarks>
            Underlying storage is done with a <see cref="T:System.Collections.Generic.HashSet`1"/>.
            </remarks>
            <typeparam name="T">The type of elements in the hash set.</typeparam>
        </member>
        <member name="E:Stride.Core.Collections.TrackingHashSet`1.CollectionChanged">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.Add(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.Clear">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.Contains(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.CopyTo(`0[],System.Int32)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingHashSet`1.Count">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Collections.TrackingHashSet`1.IsReadOnly">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.Remove(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Collections.TrackingHashSet`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.ComponentBase">
            <summary>
            Base class for a framework component.
            </summary>
        </member>
        <member name="M:Stride.Core.ComponentBase.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.ComponentBase"/> class.
            </summary>
        </member>
        <member name="M:Stride.Core.ComponentBase.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.ComponentBase"/> class.
            </summary>
            <param name="name">The name attached to this component</param>
        </member>
        <member name="F:Stride.Core.ComponentBase.Tags">
            <summary>
            Gets the attached properties to this component.
            </summary>
        </member>
        <member name="P:Stride.Core.ComponentBase.Name">
            <summary>
            Gets or sets the name of this component.
            </summary>
            <value>
            The name.
            </value>
        </member>
        <member name="M:Stride.Core.ComponentBase.Destroy">
            <summary>
            Disposes of object resources.
            </summary>
        </member>
        <member name="M:Stride.Core.ComponentBase.OnNameChanged">
            <summary>
            Called when <see cref="P:Stride.Core.ComponentBase.Name"/> property was changed.
            </summary>
        </member>
        <member name="T:Stride.Core.ComponentBaseExtensions">
            <summary>
            Extensions for <see cref="T:Stride.Core.IComponent"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.ComponentBaseExtensions.DisposeBy``1(``0,Stride.Core.ICollectorHolder)">
            <summary>
            Keeps a disposable object alive by adding it to a container.
            </summary>
            <typeparam name="T">A component</typeparam>
            <param name="thisArg">The component to keep alive.</param>
            <param name="container">The container that will keep a reference to the component.</param>
            <returns>The same component instance</returns>
        </member>
        <member name="M:Stride.Core.ComponentBaseExtensions.RemoveDisposeBy``1(``0,Stride.Core.ICollectorHolder)">
            <summary>
            Removes a disposable object that was being kept alive from a container.
            </summary>
            <typeparam name="T">A component</typeparam>
            <param name="thisArg">The component to remove.</param>
            <param name="container">The container that kept a reference to the component.</param>
        </member>
        <member name="M:Stride.Core.ComponentBaseExtensions.ReleaseBy``1(``0,Stride.Core.ICollectorHolder)">
            <summary>
            Keeps a referencable object alive by adding it to a container.
            </summary>
            <typeparam name="T">A component</typeparam>
            <param name="thisArg">The component to keep alive.</param>
            <param name="container">The container that will keep a reference to the component.</param>
            <returns>The same component instance</returns>
        </member>
        <member name="M:Stride.Core.ComponentBaseExtensions.RemoveReleaseBy``1(``0,Stride.Core.ICollectorHolder)">
            <summary>
            Removes a referencable object that was being kept alive from a container.
            </summary>
            <typeparam name="T">A component</typeparam>
            <param name="thisArg">The component to remove.</param>
            <param name="container">The container that kept a reference to the component.</param>
        </member>
        <member name="M:Stride.Core.ComponentBaseExtensions.KeepReference``1(``0)">
            <summary>
            Pins this component as a new reference.
            </summary>
            <typeparam name="T">A component</typeparam>
            <param name="thisArg">The component to add a reference to.</param>
            <returns>This component.</returns>
            <remarks>This method is equivalent to call <see cref="M:Stride.Core.IReferencable.AddReference"/> and return this instance.</remarks>
        </member>
        <member name="M:Stride.Core.ComponentBaseExtensions.PushTagAndRestore``1(Stride.Core.ComponentBase,Stride.Core.PropertyKey{``0},``0)">
            <summary>
            Pushes a tag to a component and restore it after using it. See remarks for usage.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="component">The component.</param>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
            <returns>PropertyTagRestore&lt;T&gt;.</returns>
            <remarks>
            This method is used to set save a property value from <see cref="F:Stride.Core.ComponentBase.Tags"/>, set a new value
            and restore it after. The returned object must be disposed once the original value must be restored.
            </remarks>
        </member>
        <member name="T:Stride.Core.ComponentBaseExtensions.PropertyTagRestore`1">
            <summary>
            Struct PropertyTagRestore
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:Stride.Core.DataAliasAttribute">
            <summary>
            Allows to re-map a previous class/field/property/enum name to the specified property/field/enum/class/struct.
            </summary>
        </member>
        <member name="M:Stride.Core.DataAliasAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataAliasAttribute"/> class.
            </summary>
            <param name="name">The previous name.</param>
        </member>
        <member name="P:Stride.Core.DataAliasAttribute.Name">
            <summary>
            Gets the previous name.
            </summary>
            <value>The previous name.</value>
        </member>
        <member name="T:Stride.Core.DataContractAttribute">
            <summary>
            Indicates that a class can be serialized.
            </summary>
        </member>
        <member name="M:Stride.Core.DataContractAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataContractAttribute"/> class.
            </summary>
        </member>
        <member name="M:Stride.Core.DataContractAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataContractAttribute"/> class.
            </summary>
            <param name="aliasName">The type alias name when serializing to a textual format.</param>
        </member>
        <member name="P:Stride.Core.DataContractAttribute.Alias">
            <summary>
            Gets or sets the alias name when serializing to a textual format.
            </summary>
            <value>The alias name.</value>
        </member>
        <member name="P:Stride.Core.DataContractAttribute.Inherited">
            <summary>
            Gets or sets a value indicating whether this <see cref="T:Stride.Core.DataContractAttribute"/> is implicitly inherited by all its descendant classes.
            </summary>
            <value><c>true</c> if inherited; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Stride.Core.DataContractAttribute.DefaultMemberMode">
            <summary>
            The default member mode.
            </summary>
        </member>
        <member name="T:Stride.Core.DataContractMetadataTypeAttribute">
            <summary>
            Specifies the metadata class to associate with a serializable class.
            The main usage of this class is to allow a sub-class to override property
            attributes such as <see cref="T:System.ComponentModel.DefaultValueAttribute"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.DataContractMetadataTypeAttribute.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataContractMetadataTypeAttribute"/> class.
            </summary>
            <param name="metadataClassType">The type alias name when serializing to a textual format.</param>
            <exception cref="T:System.ArgumentException"><paramref name="metadataClassType"/> is <c>null</c></exception>
        </member>
        <member name="P:Stride.Core.DataContractMetadataTypeAttribute.MetadataClassType">
            <summary>
            Gets the metadata class that is associated with a serializable class.
            </summary>
        </member>
        <member name="T:Stride.Core.DataMemberAttribute">
            <summary>
            Specify the way to store a property or field of some class or structure.
            </summary>
        </member>
        <member name="M:Stride.Core.DataMemberAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataMemberAttribute"/> class.
            </summary>
        </member>
        <member name="M:Stride.Core.DataMemberAttribute.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataMemberAttribute"/> class.
            </summary>
            <param name="order">The order.</param>
        </member>
        <member name="M:Stride.Core.DataMemberAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataMemberAttribute"/> class.
            </summary>
            <param name="name">The name.</param>
        </member>
        <member name="M:Stride.Core.DataMemberAttribute.#ctor(System.String,Stride.Core.DataMemberMode)">
            <summary>
            Specify the way to store a property or field of some class or structure.
            </summary>
            <param name="name">The name.</param>
            <param name="mode">The serialize method.</param>
        </member>
        <member name="M:Stride.Core.DataMemberAttribute.#ctor(Stride.Core.DataMemberMode)">
            <summary>
            Specify the way to store a property or field of some class or structure.
            </summary>
            <param name="mode">The serialize method.</param>
        </member>
        <member name="M:Stride.Core.DataMemberAttribute.#ctor(System.Int32,Stride.Core.DataMemberMode)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataMemberAttribute"/> class.
            </summary>
            <param name="order">The order.</param>
            <param name="mode">The mode.</param>
        </member>
        <member name="M:Stride.Core.DataMemberAttribute.#ctor(System.Int32,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataMemberAttribute"/> class.
            </summary>
            <param name="order">The order.</param>
            <param name="name">The name.</param>
        </member>
        <member name="M:Stride.Core.DataMemberAttribute.#ctor(System.Int32,System.String,Stride.Core.DataMemberMode)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataMemberAttribute"/> class.
            </summary>
            <param name="order">The order.</param>
            <param name="name">The name.</param>
            <param name="mode">The mode.</param>
        </member>
        <member name="P:Stride.Core.DataMemberAttribute.Name">
            <summary>
            Gets the name.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:Stride.Core.DataMemberAttribute.Mode">
            <summary>
            Gets the serialize method1.
            </summary>
            <value>The serialize method1.</value>
        </member>
        <member name="P:Stride.Core.DataMemberAttribute.Order">
            <summary>
            Gets or sets the order. Default is -1 (default to alphabetical)
            </summary>
            <value>The order.</value>
        </member>
        <member name="P:Stride.Core.DataMemberAttribute.Mask">
            <summary>
            Gets or sets the mask to filter out members.
            </summary>
            <value>The mask.</value>
        </member>
        <member name="T:Stride.Core.DataMemberCustomSerializerAttribute">
            <summary>
            When specified on a property or field, a serializer won't be needed for this type (useful if serializer is dynamically or manually registered).
            </summary>
        </member>
        <member name="T:Stride.Core.DataMemberIgnoreAttribute">
            <summary>
            When specified on a property or field, it will not be used when serializing/deserializing.
            </summary>
        </member>
        <member name="T:Stride.Core.DataMemberMode">
            <summary>
            <para>Specify the way to store a property or field of some class or structure.</para>
            </summary>
        </member>
        <member name="F:Stride.Core.DataMemberMode.Default">
            <summary>
            Use the default mode depending on the type of the field/property.
            </summary>
        </member>
        <member name="F:Stride.Core.DataMemberMode.Assign">
            <summary>
            When restored, new object is created by using the parameters in
            the YAML data and assigned to the property / field. When the
            property / field is writeable, this is the default.
            </summary>
        </member>
        <member name="F:Stride.Core.DataMemberMode.Content">
            <summary>
             Only valid for a property / field that return a class, no strings, primitives or value types.
             When restored, instead of recreating the whole class,
             the members are independently restored. When the property / field
             is not writeable this is the default.
            </summary>
        </member>
        <member name="F:Stride.Core.DataMemberMode.Never">
            <summary>
            The property / field will not be stored.
            </summary>
        </member>
        <member name="T:Stride.Core.DataStyle">
            <summary>
            Specifies the style used for textual serialization when an array/list or a dictionary/map must
            be serialized.
            </summary>
        </member>
        <member name="F:Stride.Core.DataStyle.Any">
            <summary>
            Let the emitter choose the style.
            </summary>
        </member>
        <member name="F:Stride.Core.DataStyle.Normal">
            <summary>
            The normal style (One line per item, structured by space).
            </summary>
        </member>
        <member name="F:Stride.Core.DataStyle.Compact">
            <summary>
            The compact style (style embraced by [] or {})
            </summary>
        </member>
        <member name="T:Stride.Core.DataStyleAttribute">
            <summary>
            An attribute to modify the output style of a sequence or mapping. 
            This attribute can be apply directly on a type or on a property/field.
            </summary>
        </member>
        <member name="M:Stride.Core.DataStyleAttribute.#ctor(Stride.Core.DataStyle)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataStyleAttribute"/> class.
            </summary>
            <param name="style">The style.</param>
        </member>
        <member name="M:Stride.Core.DataStyleAttribute.#ctor(Stride.Core.ScalarStyle)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DataStyleAttribute"/> class.
            </summary>
            <param name="style">The style.</param>
        </member>
        <member name="P:Stride.Core.DataStyleAttribute.Style">
            <summary>
            Gets the style.
            </summary>
            <value>The style.</value>
        </member>
        <member name="P:Stride.Core.DataStyleAttribute.ScalarStyle">
            <summary>
            Gets the style.
            </summary>
            <value>The style.</value>
        </member>
        <member name="T:Stride.Core.DefaultValueMetadata">
            <summary>
            Abstract class that could be overloaded in order to define how to get default value of an <see cref="T:Stride.Core.PropertyKey"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.DefaultValueMetadata.GetDefaultValue(Stride.Core.PropertyContainer@)">
            <summary>
            Gets the default value of an external property, and specify if this default value should be kept.
            It could be usefull with properties with default values depending of its container, especially if they are long to generate.
            An example would be collision data, which should be generated only once.
            </summary>
            <param name="obj">The property container.</param>
            <returns>The default value.</returns>
        </member>
        <member name="P:Stride.Core.DefaultValueMetadata.KeepValue">
            <summary>
            Gets a value indicating whether this value is kept.
            </summary>
            <value>
              <c>true</c> if this value is kept; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Stride.Core.DefaultValueMetadata.PropertyUpdateCallback">
            <summary>Gets or sets the property update callback.</summary>
            <value>The property update callback.</value>
        </member>
        <member name="M:Stride.Core.DefaultValueMetadata`1.GetDefaultValueT(Stride.Core.PropertyContainer@)">
            <summary>
            Gets the default value of an external property, and specify if this default value should be kept.
            It could be usefull with properties with default values depending of its container, especially if they are long to generate.
            An example would be collision data, which should be generated only once.
            </summary>
            <param name="obj">The property container.</param>
            <returns>The default value.</returns>
        </member>
        <member name="T:Stride.Core.StaticDefaultValueMetadata`1">
            <summary>
            Defines default value of a specific <see cref="T:Stride.Core.PropertyKey"/> as a parameter value.
            </summary>
        </member>
        <member name="M:Stride.Core.StaticDefaultValueMetadata`1.#ctor(`0,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.StaticDefaultValueMetadata`1"/> class.
            </summary>
            <param name="defaultValue">The default value.</param>
            <param name="keepDefaultValue">if set to <c>true</c> [keep default value].</param>
        </member>
        <member name="M:Stride.Core.StaticDefaultValueMetadata`1.GetDefaultValueT(Stride.Core.PropertyContainer@)">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.StaticDefaultValueMetadata`1.KeepValue">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.DelegateDefaultValueMetadata`1">
            <summary>
            Specifies a delegate to fetch the default value of an <see cref="T:Stride.Core.PropertyKey"/>.
            </summary>
        </member>
        <member name="T:Stride.Core.DelegateDefaultValueMetadata`1.DefaultValueCallback">
            <summary>
            Callback used to initialiwe the tag value.
            </summary>
            <param name="container">The tag property container.</param>
            <returns>Value of the tag.</returns>
        </member>
        <member name="M:Stride.Core.DelegateDefaultValueMetadata`1.#ctor(Stride.Core.DelegateDefaultValueMetadata{`0}.DefaultValueCallback)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DelegateDefaultValueMetadata`1"/> class.
            </summary>
            <param name="callback">The callback.</param>
        </member>
        <member name="T:Stride.Core.Diagnostics.CallerInfo">
            <summary>
            A class to store <a href="http://msdn.microsoft.com/en-us/library/hh534540%28v=vs.110%29.aspx">Caller Information</a> attributes.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.CallerInfo.#ctor(System.String,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.CallerInfo" /> class.
            </summary>
            <param name="filePath">The file path.</param>
            <param name="memberName">Name of the member.</param>
            <param name="lineNumber">The line number.</param>
        </member>
        <member name="F:Stride.Core.Diagnostics.CallerInfo.FilePath">
            <summary>
            Full path of the source file that contains the caller. This is the file path at compile time.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.CallerInfo.MemberName">
            <summary>
            Method or property name of the caller. See Member Names later in this topic.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.CallerInfo.LineNumber">
            <summary>
            Line number in the source file at which the method is called.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)">
            <summary>
            Gets the caller information.
            </summary>
            <param name="sourceFilePath">The source file path.</param>
            <param name="memberName">Name of the member.</param>
            <param name="sourceLineNumber">The source line number.</param>
            <returns>A caller information.</returns>
        </member>
        <member name="T:Stride.Core.Diagnostics.CollectionDebugView">
            <summary>
            Use this class to provide a debug output in Visual Studio debugger.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.CollectionDebugView`1">
            <summary>
            Use this class to provide a debug output in Visual Studio debugger.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.ComponentEventInfo">
            <summary>
            Contains information about a AddReference/Release event.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ComponentEventInfo.Type">
            <summary>
            Gets the event type.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ComponentEventInfo.StackTrace">
            <summary>
            Gets the stack trace at the time of the event.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ComponentEventInfo.Time">
            <summary>
            Gets the time (from Environment.TickCount) at which the event happened.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.ComponentEventType">
            <summary>
            TODO: Update summary.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ComponentEventType.Instantiate">
            <summary>
            ComponentBase constructor event.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ComponentEventType.Destroy">
            <summary>
            ComponentBase.Destroy() event.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ComponentEventType.AddReference">
            <summary>
            IReferencable.AddReference() event.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ComponentEventType.Release">
            <summary>
            IReferenceable.Release() event.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.ConsoleLogListener">
            <summary>
            A <see cref="T:Stride.Core.Diagnostics.LogListener"/> implementation redirecting its output to the default OS console. If console is not supported message are output to <see cref="T:System.Diagnostics.Debug"/>
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ConsoleLogListener.LogLevel">
            <summary>
            Gets or sets the minimum log level handled by this listener.
            </summary>
            <value>The minimum log level.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ConsoleLogListener.LogMode">
            <summary>
            Gets or sets the log mode.
            </summary>
            <value>The log mode.</value>
        </member>
        <member name="T:Stride.Core.Diagnostics.ConsoleLogMode">
            <summary>
            Defines how the console is opened.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ConsoleLogMode.Auto">
            <summary>
            The console should be visible only in debug and if there is a message, otherwise it is not visible.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ConsoleLogMode.Default">
            <summary>
            Same as <see cref="F:Stride.Core.Diagnostics.ConsoleLogMode.Auto"/>
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ConsoleLogMode.None">
            <summary>
            The console should not be visible.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ConsoleLogMode.Always">
            <summary>
            The console should be always visible
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.DebugLogListener">
            <summary>
            A <see cref="T:Stride.Core.Diagnostics.LogListener"/> implementation redirecting its output to a <see cref="T:System.Diagnostics.Debug"/>.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.ExceptionInfo">
            <summary>
            This class is used to store some properties of an exception. It is serializable.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ExceptionInfo.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.ExceptionInfo"/> class with default values for its properties
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ExceptionInfo.#ctor(System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.ExceptionInfo"/> class from an <see cref="T:System.Exception"/>.
            </summary>
            <param name="exception">The exception used to initialize the properties of this instance.</param>
        </member>
        <member name="P:Stride.Core.Diagnostics.ExceptionInfo.Message">
            <summary>
            Gets or sets the message of the exception.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ExceptionInfo.StackTrace">
            <summary>
            Gets or sets the stack trace of the exception.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ExceptionInfo.TypeFullName">
            <summary>
            Gets or sets the full name of the exception type. Should correspond to the <see cref="P:System.Type.FullName"/> property of the exception type.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ExceptionInfo.TypeName">
            <summary>
            Gets or sets the name of the exception type. Should correspond to the <see cref="!:Type.Name"/> property of the exception type.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ExceptionInfo.InnerExceptions">
            <summary>
            Gets or sets the <see cref="T:Stride.Core.Diagnostics.ExceptionInfo"/> of the inner exception.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ExceptionInfo.ToString">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Diagnostics.ForwardingLoggerResult">
            <summary>
            A <see cref="T:Stride.Core.Diagnostics.LoggerResult"/> that also forwards messages to another <see cref="T:Stride.Core.Diagnostics.ILogger"/>.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.GlobalLogger">
            <summary>
            A logger that redirect messages to a global handler and handle instantiated MapModuleNameToLogger.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.GlobalLogger.MapModuleNameToLogger">
            <summary>
            Map for all instantiated loggers. Map a module name to a logger.
            </summary>
        </member>
        <member name="E:Stride.Core.Diagnostics.GlobalLogger.GlobalMessageFilter">
            <summary>
            Occurs before a message is logged.
            </summary>
        </member>
        <member name="E:Stride.Core.Diagnostics.GlobalLogger.GlobalMessageLogged">
            <summary>
            Occurs when a message is logged.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.GlobalLogger.RegisteredLoggers">
            <summary>
            Gets all registered loggers.
            </summary>
            <value>The registered loggers.</value>
        </member>
        <member name="M:Stride.Core.Diagnostics.GlobalLogger.ActivateLog(System.Action{Stride.Core.Diagnostics.Logger})">
            <summary>
            Activates the log for all loggers using the specified action..
            </summary>
            <param name="activator">The activator.</param>
            <exception cref="T:System.ArgumentNullException">If activator is null</exception>
        </member>
        <member name="M:Stride.Core.Diagnostics.GlobalLogger.ActivateLog(System.String,Stride.Core.Diagnostics.LogMessageType,Stride.Core.Diagnostics.LogMessageType,System.Boolean)">
            <summary>
            Activates the log for loggers that match a regex pattern on the module name.
            </summary>
            <param name="regexPatternModule">The regex pattern to match a module name.</param>
            <param name="minimumLevel">The minimum level.</param>
            <param name="maximumLevel">The maximum level.</param>
            <param name="enabledFlag">if set to <c>true</c> enaable the log, else disable.</param>
            <exception cref="T:System.ArgumentNullException">If regexPatternModule is null</exception>
        </member>
        <member name="M:Stride.Core.Diagnostics.GlobalLogger.ActivateLog(System.Text.RegularExpressions.Regex,Stride.Core.Diagnostics.LogMessageType,Stride.Core.Diagnostics.LogMessageType,System.Boolean)">
            <summary>
            Activates the log for loggers that match a regex pattern on the module name.
            </summary>
            <param name="regexPatternModule">The regex pattern to match a module name.</param>
            <param name="minimumLevel">The minimum level.</param>
            <param name="maximumLevel">The maximum level.</param>
            <param name="enabledFlag">if set to <c>true</c> enaable the log, else disable.</param>
            <exception cref="T:System.ArgumentNullException">If regexPatternModule is null</exception>
        </member>
        <member name="M:Stride.Core.Diagnostics.GlobalLogger.GetLogger(System.String)">
            <summary>
            Gets the <see cref="T:Stride.Core.Diagnostics.GlobalLogger"/> associated to the specified module.
            </summary>
            <param name="module">The module name.</param>
            <exception cref="T:System.ArgumentNullException">If module name is null</exception>
            <returns>An instance of a <see cref="T:Stride.Core.Diagnostics.Logger"/></returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.GlobalLogger.GetLogger(System.String,Stride.Core.Diagnostics.LogMessageType)">
            <summary>
            Gets the <see cref="T:Stride.Core.Diagnostics.GlobalLogger"/> associated to the specified module.
            </summary>
            <param name="module">The module name.</param>
            <param name="minimumLevel">Minimum log level (only applied if new logger instance is created)</param>
            <exception cref="T:System.ArgumentNullException">If module name is null</exception>
            <returns>An instance of a <see cref="T:Stride.Core.Diagnostics.Logger"/></returns>
        </member>
        <member name="T:Stride.Core.Diagnostics.ILogger">
            <summary>
            Interface for logging.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ILogger.Module">
            <summary>
            Gets the module this logger refers to.
            </summary>
            <value>The module.</value>
        </member>
        <member name="M:Stride.Core.Diagnostics.ILogger.Log(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Logs the specified log message.
            </summary>
            <param name="logMessage">The log message.</param>
        </member>
        <member name="T:Stride.Core.Diagnostics.LoggerExtensions">
            <summary>
            Extensions for <see cref="T:Stride.Core.Diagnostics.ILogger"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Verbose(Stride.Core.Diagnostics.ILogger,System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified verbose message with an exception.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The verbose message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Verbose(Stride.Core.Diagnostics.ILogger,System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified verbose message.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The verbose message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Debug(Stride.Core.Diagnostics.ILogger,System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified debug message with an exception.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The debug message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Debug(Stride.Core.Diagnostics.ILogger,System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified debug message.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The debug message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Info(Stride.Core.Diagnostics.ILogger,System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified info message with an exception.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The info message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Info(Stride.Core.Diagnostics.ILogger,System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified info message.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The info message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Warning(Stride.Core.Diagnostics.ILogger,System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified warning message with an exception.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The warning message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Warning(Stride.Core.Diagnostics.ILogger,System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified warning message.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The warning message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Error(Stride.Core.Diagnostics.ILogger,System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified error message with an exception.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The error message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Error(Stride.Core.Diagnostics.ILogger,System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified error message.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The error message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Fatal(Stride.Core.Diagnostics.ILogger,System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified fatal message with an exception.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The fatal message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerExtensions.Fatal(Stride.Core.Diagnostics.ILogger,System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified fatal message.
            </summary>
            <param name="logger">The logger.</param>
            <param name="message">The fatal message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="T:Stride.Core.Diagnostics.ILogMessage">
            <summary>
            The base interface for log messages used by the logging infrastructure.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ILogMessage.Module">
            <summary>
            Gets or sets the module.
            </summary>
            <value>The module.</value>
            <remarks>
            The module is an identifier for a logical part of the system. It can be a class name, a namespace or a regular string not linked to a code hierarchy.
            </remarks>
        </member>
        <member name="P:Stride.Core.Diagnostics.ILogMessage.Type">
            <summary>
            Gets or sets the type of this message.
            </summary>
            <value>The type.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ILogMessage.Text">
            <summary>
            Gets or sets the text.
            </summary>
            <value>The text.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ILogMessage.ExceptionInfo">
            <summary>
            Gets or sets the exception info.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.IProgressStatus">
            <summary>
            Provides progress of an operation.
            </summary>
        </member>
        <member name="E:Stride.Core.Diagnostics.IProgressStatus.ProgressChanged">
            <summary>
            An event handler to notify the progress of an operation.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.IProgressStatus.OnProgressChanged(Stride.Core.Diagnostics.ProgressStatusEventArgs)">
            <summary>
            Handles the <see cref="E:ProgressChanged" /> event.
            </summary>
            <param name="e">The <see cref="T:Stride.Core.Diagnostics.ProgressStatusEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="T:Stride.Core.Diagnostics.Logger">
            <summary>
            Base implementation for <see cref="T:Stride.Core.Diagnostics.ILogger"/>.
            </summary>
        </member>
        <member name="E:Stride.Core.Diagnostics.Logger.MessageLogged">
            <summary>
            Occurs when a message is logged.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.Logger" /> class.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.Logger.MinimumLevelEnabled">
            <summary>
            Gets the minimum level enabled from the config file. Can be overridden by the user.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.Logger.IsDebugEnabled">
            <summary>
            True if the debug level is enabled at a global level
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.Logger.IsVerboseEnabled">
            <summary>
            True if the verbose level is enabled at a global level
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.Logger.HasErrors">
            <summary>
            Gets or sets a value indicating whether this instance has errors.
            </summary>
            <value><c>true</c> if this instance has errors; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.Logger.Module">
            <summary>
            Gets the module name. read-only.
            </summary>
            <value>The module name.</value>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.ActivateLog(Stride.Core.Diagnostics.LogMessageType,Stride.Core.Diagnostics.LogMessageType,System.Boolean)">
            <summary>
            Activates the log for this logger for a range of <see cref="T:Stride.Core.Diagnostics.LogMessageType"/>.
            </summary>
            <param name="fromLevel">The lowest inclusive level to log for.</param>
            <param name="toLevel">The highest inclusive level to log for.</param>
            <param name="enabledFlag">if set to <c>true</c> this will enable the log, false otherwise. Default is true.</param>
            <remarks>
            Outside the specified range the log message type are disabled (!enabledFlag).
            </remarks>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.ActivateLog(Stride.Core.Diagnostics.LogMessageType,System.Boolean)">
            <summary>
            Activates the log for this logger for a specific <see cref="T:Stride.Core.Diagnostics.LogMessageType"/>.
            </summary>
            <param name="type">The type.</param>
            <param name="enabledFlag">if set to <c>true</c> [enabled flag].</param>
            <remarks>
            All other activated type are leaved intact.
            </remarks>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Activated(Stride.Core.Diagnostics.LogMessageType)">
            <summary>
            Returns a boolean indicating if a particular <see cref="T:Stride.Core.Diagnostics.LogMessageType"/> is activated.
            </summary>
            <param name="type">The type.</param>
            <returns>True if the log is activated, otherwise false.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.LogRaw(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Internal method used to log a message. All Info, Debug, Error...etc. methods are calling this method.
            </summary>
            <param name="logMessage">The log message.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.ExtractCallerInfo(System.Object[])">
            <summary>
            Extracts the caller info from a variable parameters.
            </summary>
            <param name="parameters">The parameters.</param>
            <returns>A caller info or null if there is no caller information available.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Verbose(System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified verbose message with an exception.
            </summary>
            <param name="message">The verbose message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Verbose(System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified verbose message.
            </summary>
            <param name="message">The verbose message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Debug(System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified debug message with an exception.
            </summary>
            <param name="message">The debug message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Debug(System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified debug message.
            </summary>
            <param name="message">The debug message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Info(System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified info message with an exception.
            </summary>
            <param name="message">The info message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Info(System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified info message.
            </summary>
            <param name="message">The info message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Warning(System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified warning message with an exception.
            </summary>
            <param name="message">The warning message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Warning(System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified warning message.
            </summary>
            <param name="message">The warning message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Error(System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified error message with an exception.
            </summary>
            <param name="message">The error message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Error(System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified error message.
            </summary>
            <param name="message">The error message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Fatal(System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified fatal message with an exception.
            </summary>
            <param name="message">The fatal message.</param>
            <param name="exception">An exception to log with the message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Logger.Fatal(System.String,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Logs the specified fatal message.
            </summary>
            <param name="message">The fatal message.</param>
            <param name="callerInfo">Information about the caller. Default is null, otherwise use <see cref="M:Stride.Core.Diagnostics.CallerInfo.Get(System.String,System.String,System.Int32)"/>.</param>
        </member>
        <member name="T:Stride.Core.Diagnostics.LoggerConfig">
            <summary>
            Configuration for <see cref="T:Stride.Core.Diagnostics.GlobalLogger"/>.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.LoggerConfig.Level">
            <summary>
            Gets or sets the minimum level to allow logging.
            </summary>
            <value>The level.</value>
        </member>
        <member name="T:Stride.Core.Diagnostics.LoggerResult">
            <summary>
            A logger that stores messages locally useful for internal log scenarios.
            </summary>
        </member>
        <member name="E:Stride.Core.Diagnostics.LoggerResult.ProgressChanged">
            <summary>
            Occurs when the progress changed for this logger.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerResult.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.LoggerResult" /> class.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.LoggerResult.Module">
            <summary>
            Gets the module name. read-write.
            </summary>
            <value>The module name.</value>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerResult.Clear">
            <summary>
            Clears all messages.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.LoggerResult.IsLoggingProgressAsInfo">
            <summary>
            Gets or sets a value indicating whether this instance is logging progress as information. Default is true.
            </summary>
            <value><c>true</c> if this instance is logging progress as information; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerResult.Progress(System.String)">
            <summary>
            Notifies progress on this instance.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerResult.Progress(System.String,System.Int32,System.Int32)">
            <summary>
            Notifies progress on this instance.
            </summary>
            <param name="message">The message.</param>
            <param name="currentStep">The current step.</param>
            <param name="stepCount">The step count.</param>
        </member>
        <member name="P:Stride.Core.Diagnostics.LoggerResult.Messages">
            <summary>
            Gets the messages logged to this instance.
            </summary>
            <value>The messages.</value>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerResult.CopyTo(Stride.Core.Diagnostics.ILogger)">
            <summary>
            Copies all messages to another instance.
            </summary>
            <param name="results">The results.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LoggerResult.ToText">
            <summary>
            Returns a string representation of this 
            </summary>
            <returns>System.String.</returns>
        </member>
        <member name="T:Stride.Core.Diagnostics.LoggerValueResult`1">
            <summary>
            A <see cref="T:Stride.Core.Diagnostics.LoggerResult"/> with an associated value;
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.LoggerValueResult`1.Value">
            <summary>
            Gets or sets the value associated with this log.
            </summary>
            <value>The value.</value>
        </member>
        <member name="T:Stride.Core.Diagnostics.LogListener">
            <summary>
            A base class to implement a log listener
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogListener.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.LogListener"/> class.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.LogListener.LogMessageCount">
            <summary>
            Gets the log message count.
            </summary>
            <value>The log message count.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.LogListener.UseFlushAsync">
            <summary>
            Gets or sets a value indicating whether [use flush async].
            </summary>
            <value><c>true</c> if [use flush async]; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.LogListener.TextFormatter">
            <summary>
            Gets or sets the function that convert a <see cref="T:Stride.Core.Diagnostics.ILogMessage" /> instance into a string.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.LogListener.LogCountFlushLimit">
            <summary>
            Gets or sets the log count flush limit. Default is on every message.
            </summary>
            <value>The log count flush limit.</value>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogListener.OnLog(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Called when a log occurred.
            </summary>
            <param name="logMessage">The log message.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogListener.ShouldFlush(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Returns a boolean indicating whether the log should be flushed. By default, flushing is occurring if the message has a higher level than <see cref="F:Stride.Core.Diagnostics.LogMessageType.Info"/>
            </summary>
            <param name="logMessage">The log message.</param>
            <returns><c>true</c> if the log should be flushed, <c>false</c> otherwise</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogListener.Flush">
            <summary>
            Flush the log, method to be implemented in a subclass.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogListener.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogListener.GetDefaultText(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Gets the default text for a particular log message.
            </summary>
            <param name="logMessage">The log message.</param>
            <returns>A textual representation of a message.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogListener.GetExceptionText(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Gets the text that describes the exception associated to a particular log message.
            </summary>
            <param name="message">The log message.</param>
            <returns>A textual representation of the exception, or <see cref="F:System.String.Empty"/> if no exception is associated to this log message.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogListener.op_Implicit(Stride.Core.Diagnostics.LogListener)~System.Action{Stride.Core.Diagnostics.ILogMessage}">
            <summary>
            Performs an implicit conversion from <see cref="T:Stride.Core.Diagnostics.LogListener"/> to <see cref="T:System.Action`1"/>.
            </summary>
            <param name="logListener">The log listener.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="T:Stride.Core.Diagnostics.LogMessage">
            <summary>
            A base log message used by the logging infrastructure.
            </summary>
            <remarks>
            This class can be derived in order to provide additional custom log information.
            </remarks>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessage.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.LogMessage" /> class.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessage.#ctor(System.String,Stride.Core.Diagnostics.LogMessageType,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.LogMessage" /> class.
            </summary>
            <param name="module">The module.</param>
            <param name="type">The type.</param>
            <param name="text">The text.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessage.#ctor(System.String,Stride.Core.Diagnostics.LogMessageType,System.String,System.Exception,Stride.Core.Diagnostics.CallerInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.LogMessage" /> class.
            </summary>
            <param name="module">The module.</param>
            <param name="type">The type.</param>
            <param name="text">The text.</param>
            <param name="exception">The exception.</param>
            <param name="callerInfo">The caller info.</param>
        </member>
        <member name="P:Stride.Core.Diagnostics.LogMessage.Module">
            <summary>
            Gets or sets the module.
            </summary>
            <value>The module.</value>
            <remarks>
            The module is an identifier for a logical part of the system. It can be a class name, a namespace or a regular string not linked to a code hierarchy.
            </remarks>
        </member>
        <member name="P:Stride.Core.Diagnostics.LogMessage.Type">
            <summary>
            Gets or sets the type of this message.
            </summary>
            <value>The type.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.LogMessage.Text">
            <summary>
            Gets or sets the text.
            </summary>
            <value>The text.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.LogMessage.Exception">
            <summary>
            Gets or sets the exception.
            </summary>
            <value>The exception.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.LogMessage.CallerInfo">
            <summary>
            Gets or sets the caller information.
            </summary>
            <value>The caller information.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.LogMessage.ExceptionInfo">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessage.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="T:Stride.Core.Diagnostics.LogMessageExtensions">
            <summary>
            A set of extensions method to use with the <see cref="T:Stride.Core.Diagnostics.LogMessage"/> class.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessageExtensions.IsDebug(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Gets whether the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Debug"/> message type
            </summary>
            <param name="logMessage">The log message.</param>
            <returns><c>true</c> if the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Debug"/> message, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessageExtensions.IsVerbose(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Gets whether the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Verbose"/> message type
            </summary>
            <param name="logMessage">The log message.</param>
            <returns><c>true</c> if the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Verbose"/> message, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessageExtensions.IsInfo(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Gets whether the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Info"/> message type
            </summary>
            <param name="logMessage">The log message.</param>
            <returns><c>true</c> if the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Info"/> message, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessageExtensions.IsWarning(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Gets whether the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Warning"/> message type
            </summary>
            <param name="logMessage">The log message.</param>
            <returns><c>true</c> if the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Warning"/> message, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessageExtensions.IsError(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Gets whether the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Error"/> message type
            </summary>
            <param name="logMessage">The log message.</param>
            <returns><c>true</c> if the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Error"/> message, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessageExtensions.IsFatal(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Gets whether the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Fatal"/> message type
            </summary>
            <param name="logMessage">The log message.</param>
            <returns><c>true</c> if the given log message is a <see cref="F:Stride.Core.Diagnostics.LogMessageType.Fatal"/> message, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessageExtensions.IsAtLeast(Stride.Core.Diagnostics.ILogMessage,Stride.Core.Diagnostics.LogMessageType)">
            <summary>
            Gets whether the given log message is at least as severe as the given severity level.
            </summary>
            <param name="logMessage">The log message.</param>
            <param name="minSeverity">The minimal severity level.</param>
            <returns><c>true</c> if the given log message is at least as severe as the given severity level, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.LogMessageExtensions.IsAtMost(Stride.Core.Diagnostics.ILogMessage,Stride.Core.Diagnostics.LogMessageType)">
            <summary>
            Gets whether the given log message is at most as severe as the given severity level.
            </summary>
            <param name="logMessage">The log message.</param>
            <param name="maxSeverity">The maximal severity level.</param>
            <returns><c>true</c> if the given log message is at most as severe as the given severity level, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:Stride.Core.Diagnostics.LogMessageType">
            <summary>
            Type of a <see cref="T:Stride.Core.Diagnostics.LogMessage" />.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.LogMessageType.Debug">
            <summary>
            A debug message (level 0).
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.LogMessageType.Verbose">
            <summary>
            A verbose message (level 1).
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.LogMessageType.Info">
            <summary>
            An regular info message (level 2).
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.LogMessageType.Warning">
            <summary>
            A warning message (level 3).
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.LogMessageType.Error">
            <summary>
            An error message (level 4).
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.LogMessageType.Fatal">
            <summary>
            A Fatal error message (level 5).
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.MessageLoggedEventArgs">
            <summary>
            Arguments of the <see cref="E:Stride.Core.Diagnostics.Logger.MessageLogged"/> event.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.MessageLoggedEventArgs.#ctor(Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.MessageLoggedEventArgs"/> class with a log message.
            </summary>
            <param name="message">The message that has been logged.</param>
        </member>
        <member name="P:Stride.Core.Diagnostics.MessageLoggedEventArgs.Message">
            <summary>
            Gets the message that has been logged.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.NamespaceDoc">
            <summary>
            The <see cref="N:Stride.Core.Diagnostics"/> namespace provides classes that are used for logs, debugging/profiling, monitoring events.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.ProfilerDisposeEventDelegate">
            <summary>
            Delegate called when a <see cref="T:Stride.Core.Diagnostics.ProfilingState"/> is disposed (end of profiling).
            </summary>
            <param name="profilingState">State of the profile.</param>
        </member>
        <member name="T:Stride.Core.Diagnostics.Profiler">
            <summary>
            High level CPU Profiler. For usage see remarks.
            </summary>
            <remarks>
            This class is a lightweight profiler that can log detailed KPI (Key Performance Indicators) of an application.
            To use it, simply enclose in a <c>using</c> code the section of code you want to profile:
            <code>
            public static readonly ProfilingKey GameInitialization = new ProfilingKey("Game", "Initialization");
            
            // This will log a 'Begin' profiling event.
            using (var profile = Profiler.Begin(GameInitialization))
            {
                // Long running code here...
            
            
                // You can log 'Mark' profiling event
                profile.Mark("CriticalPart");
            
                // Adds an attribute that will be logged in End event
                profile.Attributes.Add("ModelCount", modelCount);
            } // here a 'End' profiling event will be issued.
            </code>
            By default, the profiler is not enabled, so there is a minimum performance impact leaving it in the code. 
            It doesn't measure anything and doesn't produce any KPI.
            
            To enable a particular profiler (before using <see cref="M:Stride.Core.Diagnostics.Profiler.Begin(Stride.Core.Diagnostics.ProfilingKey)"/> method):
            <code>
            Profiler.Enable(GameInitialization);
            </code>
            To enable all profilers, use <c>Profiler.EnableAll()</c> method.
            
            When the profiler is enabled, it is logged using the logging system through the standard <see cref="T:Stride.Core.Diagnostics.Logger"/> infrastructure, 
            if ProfilingKeyFlags.Log is set for the ProfilingKey. The logger module name used is "Profile." concatenates with the name of the profile.
            
            Note also that when profiling, it is possible to attach some property values (counters, indicators...etc.) to a profiler state. This 
            property values will be displayed along the standard profiler state. You can use <see cref="P:Stride.Core.Diagnostics.ProfilingState.Attributes"/> to attach
            a property value to a <see cref="T:Stride.Core.Diagnostics.ProfilingState"/>.
            
            To register your own system to receive <see cref="T:Stride.Core.Diagnostics.ProfilingEvent">ProfilingEvents</see> use the <see cref="M:Stride.Core.Diagnostics.Profiler.Subscribe"/> and 
            <see cref="M:Stride.Core.Diagnostics.Profiler.Unsubscribe(System.Threading.Channels.ChannelReader{Stride.Core.Diagnostics.ProfilingEvent})"/> methods.
            </remarks>
        </member>
        <member name="P:Stride.Core.Diagnostics.Profiler.MinimumProfileDuration">
            <summary>
            The minimum duration of events that will be captured. Defaults to 1 µs.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.Subscribe">
            <summary>
            Subscribes to the generated ProfilingEvents.
            </summary>
            <returns>The <see cref="T:System.Threading.Channels.ChannelReader`1"/> which will receive the events.</returns>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.Unsubscribe(System.Threading.Channels.ChannelReader{Stride.Core.Diagnostics.ProfilingEvent})">
            <summary>
            Unsubscribes from receiving ProfilingEvents.
            </summary>
            <param name="eventReader">The reader previously returned by <see cref="M:Stride.Core.Diagnostics.Profiler.Subscribe"/></param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.EnableAll">
            <summary>
            Enables all profilers.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.DisableAll">
            <summary>
            Disable all profilers.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.IsEnabled(Stride.Core.Diagnostics.ProfilingKey)">
            <summary>
            Enables the specified profiler.
            </summary>
            <param name="profilingKey">The profile key.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.Enable(Stride.Core.Diagnostics.ProfilingKey)">
            <summary>
            Enables the specified profiler.
            </summary>
            <param name="profilingKey">The profile key.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.Disable(Stride.Core.Diagnostics.ProfilingKey)">
            <summary>
            Disables the specified profiler.
            </summary>
            <param name="profilingKey">The profile key.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.New(Stride.Core.Diagnostics.ProfilingKey)">
            <summary>
            Creates a profiler with the specified name. The returned object must be disposed at the end of the section
            being profiled. See remarks.
            </summary>
            <param name="profilingKey">The profile key.</param>
            <returns>A profiler state.</returns>
            <remarks>It is recommended to call this method with <c>using (Profiler.Begin(...)) {...}</c> or <c>using var _ = Profiler.Begin(...);</c> 
            in order to make sure that the Dispose() method will be called on the <see cref="T:Stride.Core.Diagnostics.ProfilingState" /> returned object.</remarks>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.Begin(Stride.Core.Diagnostics.ProfilingKey)">
            <summary>
            Creates a profiler with the specified key. The returned object must be disposed at the end of the section
            being profiled. See remarks.
            </summary>
            <param name="profilingKey">The profile key.</param>
            <param name="text">The text to log with the profile.</param>
            <returns>A profiler state.</returns>
            <remarks>It is recommended to call this method with <c>using (Profiler.Begin(...)) {...}</c> or <c>using var _ = Profiler.Begin(...);</c> 
            in order to make sure that the Dispose() method will be called on the <see cref="T:Stride.Core.Diagnostics.ProfilingState" /> returned object.</remarks>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.Begin(Stride.Core.Diagnostics.ProfilingKey,System.String,System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue})">
            <summary>
            Creates a profiler with the specified key. The returned object must be disposed at the end of the section
            being profiled. See remarks.
            </summary>
            <param name="profilingKey">The profile key.</param>
            <param name="textFormat">The text to format.</param>
            <param name="value0">First value (can be int, float, long or double).</param>
            <param name="value1">Second value (can be int, float, long or double).</param>
            <param name="value2">Third value (can be int, float, long or double).</param>
            <param name="value3">Fourth value (can be int, float, long or double).</param>
            <returns>A profiler state.</returns>
            <remarks>It is recommended to call this method with <c>using (Profiler.Begin(...)) {...}</c> or <c>using var _ = Profiler.Begin(...);</c> 
            in order to make sure that the Dispose() method will be called on the <see cref="T:Stride.Core.Diagnostics.ProfilingState" /> returned object.</remarks>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.Reset">
            <summary>
            Resets the id counter to zero and disable all registered profiles.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.SendEventToSubscribers(Stride.Core.Diagnostics.ProfilingEvent)">
            <summary>
            Sends the event to all existing subscribers.
            If there are no subscribers the event is dropped.
            </summary>
            <param name="e">The event.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.Profiler.AppendTime(System.Text.StringBuilder,System.Int64,System.Int64)">
            <summary>
            Append the provided time properly formated at the end of the string. 
            <paramref name="tickFrequency"/> is used to convert the ticks into time.
            If <paramref name="tickFrequency"/> is 0 then <see cref="F:System.Diagnostics.Stopwatch.Frequency"/> is used to perform the calculation.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.ProfilingEvent">
            <summary>
            A profiling event generated by <see cref="T:Stride.Core.Diagnostics.Profiler"/>.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingEvent.Id">
            <summary>
            The unique identifier.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingEvent.Key">
            <summary>
            The profile key.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingEvent.Type">
            <summary>
            The type of the profile.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingEvent.TimeStamp">
            <summary>
            The timestamp.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingEvent.ElapsedTime">
            <summary>
            The elapsed time since Begin event.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingEvent.ThreadId">
            <summary>
            The thread id.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingEvent.Message">
            <summary>
            The message.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingEvent.Attributes">
            <summary>
            The attributes
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingEvent.#ctor(System.Int32,Stride.Core.Diagnostics.ProfilingKey,Stride.Core.Diagnostics.ProfilingMessageType,System.TimeSpan,System.TimeSpan,System.Int32,System.Nullable{Stride.Core.Diagnostics.ProfilingEventMessage},System.Diagnostics.TagList)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.ProfilingEvent" /> struct.
            </summary>
            <param name="profileId">The profile identifier.</param>
            <param name="profilingKey">The profiling key.</param>
            <param name="profilingType">Type of the profiling.</param>
            <param name="timeStamp"></param>
            <param name="elapsedTime">The elapsed time.</param>
            <param name="Message">The message.</param>
            <param name="attributes">The attributes.</param>
        </member>
        <member name="T:Stride.Core.Diagnostics.ProfilingEventMessage">
            <summary>
            A message attached to a <see cref="T:Stride.Core.Diagnostics.ProfilingEvent"/>.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingEventMessage.Text">
            <summary>
            The text supporting formatting of up to 4 numerical parameters.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingEventMessage.#ctor(System.String,System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue})">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.ProfilingEventMessage" /> struct.
            </summary>
            <param name="text">The text supporting formatting of up to 4 numerical parameters.</param>
            <param name="value0"></param>
            <param name="value1"></param>
            <param name="value2"></param>
            <param name="value3"></param>
        </member>
        <member name="T:Stride.Core.Diagnostics.ProfilingEventType">
            <summary>
            List the different types of profiling events
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.ProfilingKey">
            <summary>
            A key to identify a specific profile.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingKey.#ctor(System.String,Stride.Core.Diagnostics.ProfilingKeyFlags)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.ProfilingKey" /> class.
            </summary>
            <param name="name">The name.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingKey.#ctor(Stride.Core.Diagnostics.ProfilingKey,System.String,Stride.Core.Diagnostics.ProfilingKeyFlags)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.ProfilingKey" /> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="name">The name.</param>
            <exception cref="T:System.ArgumentNullException">parent</exception>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingKey.Name">
            <summary>
            Gets the name.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingKey.Parent">
            <summary>
            Gets the group.
            </summary>
            <value>The group.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingKey.Children">
            <summary>
            Gets the children.
            </summary>
            <value>
            The children.
            </value>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingKeyFlags.None">
            <summary>
            Empty flag.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingKeyFlags.Log">
            <summary>
            Output message to log right away.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.ProfilingMessage">
            <summary>
            A log message generate by <see cref="T:Stride.Core.Diagnostics.Profiler"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingMessage.#ctor(System.Int32,Stride.Core.Diagnostics.ProfilingKey,Stride.Core.Diagnostics.ProfilingMessageType)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.ProfilingMessage" /> class.
            </summary>
            <param name="profileId">The profile unique identifier.</param>
            <param name="profilingKey">The profile key.</param>
            <param name="profilingType">Type of the profile.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingMessage.#ctor(System.Int32,Stride.Core.Diagnostics.ProfilingKey,Stride.Core.Diagnostics.ProfilingMessageType,System.Nullable{Stride.Core.Diagnostics.ProfilingEventMessage})">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.ProfilingMessage" /> class.
            </summary>
            <param name="profileId">The profile unique identifier.</param>
            <param name="profilingKey">The profile key.</param>
            <param name="profilingType">Type of the profile.</param>
            <param name="text">The text.</param>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingMessage.Id">
            <summary>
            Gets or sets the unique identifier associated with this profile message.
            </summary>
            <value>The unique identifier.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingMessage.Key">
            <summary>
            Gets or sets the profile key.
            </summary>
            <value>The profile key.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingMessage.ProfilingType">
            <summary>
            Gets the type of the profile.
            </summary>
            <value>The type of the profile.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingMessage.Message">
            <summary>
            Event message.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingMessage.Text">
            <summary>
            Text of the log.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingMessage.ElapsedTime">
            <summary>
            Gets or sets the time elapsed for this particular profile.
            </summary>
            <value>The elapsed.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingMessage.Attributes">
            <summary>
            Gets attributes attached to this message. May be null.
            </summary>
            <value>The properties.</value>
        </member>
        <member name="T:Stride.Core.Diagnostics.ProfilingMessageType">
            <summary>
            Type of a profiling message.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingMessageType.Begin">
            <summary>
            A begin message.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingMessageType.End">
            <summary>
            A end message.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.ProfilingMessageType.Mark">
            <summary>
            A mark message.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.ProfilingState">
            <summary>
            A profiler state contains information of a portion of code being profiled. See remarks.
            </summary>
            <remarks>
            This struct is not intended to be used directly but only through <see cref="!:Profiler.Begin()"/>.
            You can still attach some attributes to it while profiling a portion of code.
            </remarks>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingState.IsInitialized">
            <summary>
            Gets a value indicating whether this instance is initialized.
            </summary>
            <value><c>true</c> if this instance is initialized; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingState.ProfilingId">
            <summary>
            Gets the profiling unique identifier.
            </summary>
            <value>The profiling unique identifier.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingState.ProfilingKey">
            <summary>
            Gets the profiling key.
            </summary>
            <value>The profiling key.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingState.Attributes">
            <summary>
            A list of attributes (dimensions) associated with this profiling state.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProfilingState.TickFrequency">
            <summary>
            Gets or sets the TickFrequency used to convert <see cref="T:System.Int64"/> timestamp to <see cref="T:System.TimeSpan"/>.
            By default for CPU events it's <see cref="F:System.Diagnostics.Stopwatch.Frequency"/> and for GPU events it's set by the rendering code."/>
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingState.CheckIfEnabled">
            <summary>
            Checks if the profiling key is enabled and update this instance. See remarks.
            </summary>
            <remarks>
            This can be used for long running profiling that are using markers and want to log markers if 
            the profiling was activated at runtime.
            </remarks>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingState.Begin(System.String,System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue})">
            <summary>
            Emits a Begin event with the specified formatted text.
            </summary>
            <param name="text">The event text.</param>
            <param name="value0">First value (can be int, float, long or double).</param>
            <param name="value1">Second value (can be int, float, long or double).</param>
            <param name="value2">Third value (can be int, float, long or double).</param>
            <param name="value3">Fourth value (can be int, float, long or double).</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingState.BeginGpu(System.Int64)">
            <summary>
            Emits a Begin event with an override on the timestamp. Internal for the use of Stride.Rendering.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingState.Mark">
            <summary>
            Emits a Mark event.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingState.Mark(System.String,System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue})">
            <summary>
            Emits a Mark profiling event with the specified text.
            </summary>
            <param name="text">The event text.</param>
            <param name="value0">First value (can be int, float, long or double).</param>
            <param name="value1">Second value (can be int, float, long or double).</param>
            <param name="value2">Third value (can be int, float, long or double).</param>
            <param name="value3">Fourth value (can be int, float, long or double).</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingState.End">
            <summary>
            Emits a End profiling event.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingState.End(System.String,System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue},System.Nullable{Stride.Core.Diagnostics.ProfilingCustomValue})">
            <summary>
            Emits a End profiling event with the specified custom value.
            </summary>
            <param name="text">The event text.</param>
            <param name="value0">First value (can be int, float, long or double).</param>
            <param name="value1">Second value (can be int, float, long or double).</param>
            <param name="value2">Third value (can be int, float, long or double).</param>
            <param name="value3">Fourth value (can be int, float, long or double).</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProfilingState.EndGpu(System.Int64)">
            <summary>
            Emits an End event with an override on the timestamp. Internal for the use of Stride.Rendering.
            </summary>
        </member>
        <member name="T:Stride.Core.Diagnostics.ProgressStatusEventArgs">
            <summary>
            An event indicating the progress of an operation.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProgressStatusEventArgs.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.ProgressStatusEventArgs"/> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.ProgressStatusEventArgs.#ctor(System.String,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.ProgressStatusEventArgs"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="currentStep">The current step.</param>
            <param name="stepCount">The step count.</param>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProgressStatusEventArgs.Message">
            <summary>
            Gets or sets the message associated with the progress.
            </summary>
            <value>The message.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProgressStatusEventArgs.HasKnownSteps">
            <summary>
            Gets or sets a value indicating whether this instance has known steps (<see cref="P:Stride.Core.Diagnostics.ProgressStatusEventArgs.CurrentStep"/> and 
            <see cref="P:Stride.Core.Diagnostics.ProgressStatusEventArgs.StepCount"/> are valid).
            </summary>
            <value><c>true</c> if this instance has known steps; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProgressStatusEventArgs.CurrentStep">
            <summary>
            Gets or sets the current index of the indicative step. See <see cref="P:Stride.Core.Diagnostics.ProgressStatusEventArgs.StepCount"/> remarks.
            </summary>
            <value>The index of the step.</value>
        </member>
        <member name="P:Stride.Core.Diagnostics.ProgressStatusEventArgs.StepCount">
            <summary>
            Gets or sets the step count used to indicate the number expected steps returned by this logger result. See remarks.
            </summary>
            <value>The step count, greater than 1. Default is 1</value>
            <exception cref="T:System.ArgumentOutOfRangeException">Expecting value >= 1;value</exception>
            <remarks>
            This property providea an estimation of the duration of an operation in terms of "step counts". 
            The <see cref="P:Stride.Core.Diagnostics.ProgressStatusEventArgs.CurrentStep"/> property returns the current step and gives indication about how much is still
            being processed.
            </remarks>
        </member>
        <member name="T:Stride.Core.Diagnostics.SerializableLogMessage">
            <summary>
            A class that represents a copy of a <see cref="T:Stride.Core.Diagnostics.LogMessage"/> that can be serialized.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.SerializableLogMessage.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.SerializableLogMessage"/> class with default values for its properties.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.SerializableLogMessage.#ctor(Stride.Core.Diagnostics.LogMessage)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.SerializableLogMessage"/> class from a <see cref="T:Stride.Core.Diagnostics.LogMessage"/> instance.
            </summary>
            <param name="message">The <see cref="T:Stride.Core.Diagnostics.LogMessage"/> instance to use to initialize properties.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.SerializableLogMessage.#ctor(System.String,Stride.Core.Diagnostics.LogMessageType,System.String,Stride.Core.Diagnostics.ExceptionInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.SerializableLogMessage"/> class using the given parameters to set its properties.
            </summary>
            <param name="module">The module name.</param>
            <param name="type">The type.</param>
            <param name="text">The text.</param>
            <param name="exceptionInfo">The exception information. This parameter can be null.</param>
        </member>
        <member name="P:Stride.Core.Diagnostics.SerializableLogMessage.Module">
            <summary>
            Gets or sets the module.
            </summary>
            <remarks>
            The module is an identifier for a logical part of the system. It can be a class name, a namespace or a regular string not linked to a code hierarchy.
            </remarks>
        </member>
        <member name="P:Stride.Core.Diagnostics.SerializableLogMessage.Type">
            <summary>
            Gets or sets the type of this message.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.SerializableLogMessage.Text">
            <summary>
            Gets or sets the text.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.SerializableLogMessage.ExceptionInfo">
            <summary>
            Gets or sets the <see cref="P:Stride.Core.Diagnostics.SerializableLogMessage.ExceptionInfo"/> of this message.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.SerializableLogMessage.ToString">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Diagnostics.TextWriterLogListener">
            <summary>
            A <see cref="T:Stride.Core.Diagnostics.LogListener"/> implementation redirecting its output to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.TextWriterLogListener.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.TextWriterLogListener"/> class.
            </summary>
            <param name="logStream">The log stream.</param>
        </member>
        <member name="M:Stride.Core.Diagnostics.TextWriterLogListener.#ctor(System.IO.TextWriter)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.TextWriterLogListener"/> class.
            </summary>
            <param name="logWriter">The log writer.</param>
        </member>
        <member name="P:Stride.Core.Diagnostics.TextWriterLogListener.LogWriter">
            <summary>
            Gets the log writer.
            </summary>
            <value>The log writer.</value>
        </member>
        <member name="T:Stride.Core.Diagnostics.TimestampLocalLogger">
            <summary>
            A logger that stores messages locally with their timestamp, useful for internal log scenarios.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.TimestampLocalLogger.#ctor(System.DateTime,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.TimestampLocalLogger"/> class.
            </summary>
        </member>
        <member name="P:Stride.Core.Diagnostics.TimestampLocalLogger.Messages">
            <summary>
            Gets the messages logged to this instance.
            </summary>
            <value>The messages.</value>
        </member>
        <member name="T:Stride.Core.Diagnostics.TimestampLocalLogger.Message">
            <summary>
            A structure describing a log message associated with a timestamp.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.TimestampLocalLogger.Message.Timestamp">
            <summary>
            The timestamp associated to the log message.
            </summary>
        </member>
        <member name="F:Stride.Core.Diagnostics.TimestampLocalLogger.Message.LogMessage">
            <summary>
            The log message.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.TimestampLocalLogger.Message.#ctor(System.Int64,Stride.Core.Diagnostics.ILogMessage)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Diagnostics.TimestampLocalLogger.Message"/> struct.
            </summary>
            <param name="timestamp">The timestamp associated to the log message.</param>
            <param name="logMessage">The log message.</param>
        </member>
        <member name="T:Stride.Core.Diagnostics.VTuneProfiler">
            <summary>
            This static class gives access to the Pause/Resume API of VTune Amplifier. It is available on Windows Desktop platform only.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.VTuneProfiler.Resume">
            <summary>
            Resumes the profiler.
            </summary>
        </member>
        <member name="M:Stride.Core.Diagnostics.VTuneProfiler.Pause">
            <summary>
            Suspends the profiler.
            </summary>
        </member>
        <member name="F:Stride.Core.ExpandRule.Auto">
            <summary>
            The control representing the associated object will use the default rule.
            </summary>
        </member>
        <member name="F:Stride.Core.ExpandRule.Once">
            <summary>
            The control representing the associated object will be expanded only the first time it is displayed.
            </summary>
        </member>
        <member name="F:Stride.Core.ExpandRule.Never">
            <summary>
            The control representing the associated object will be collapsed.
            </summary>
        </member>
        <member name="F:Stride.Core.ExpandRule.Always">
            <summary>
            The control representing the associated object will be expanded.
            </summary>
        </member>
        <member name="T:Stride.Core.DisplayAttribute">
            <summary>
            Portable DisplayAttribute equivalent to <see cref="T:System.ComponentModel.DataAnnotations.DisplayAttribute"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.DisplayAttribute.#ctor(System.Int32,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DisplayAttribute"/> class.
            </summary>
            <param name="order">The order weight of the column.</param>
            <param name="name">A value that is used for display in the UI..</param>
            <param name="category">A value that is used to group fields in the UI..</param>
        </member>
        <member name="M:Stride.Core.DisplayAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.DisplayAttribute"/> class.
            </summary>
            <param name="name">A value that is used for display in the UI..</param>
            <param name="category">A value that is used to group fields in the UI..</param>
        </member>
        <member name="P:Stride.Core.DisplayAttribute.Order">
            <summary>
            Gets the order weight of the column.
            </summary>
            <value>The order.</value>
        </member>
        <member name="P:Stride.Core.DisplayAttribute.Name">
            <summary>
            Gets a string that is used for display in the UI.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:Stride.Core.DisplayAttribute.Category">
            <summary>
            Gets a string that is used to group fields in the UI.
            </summary>
            <value>The category.</value>
        </member>
        <member name="P:Stride.Core.DisplayAttribute.CustomHue">
            <summary>
            Gets the hue of a color that is used in the UI.
            </summary>
            <remarks>If not null, this value must be in the range [0, 360].</remarks>
        </member>
        <member name="P:Stride.Core.DisplayAttribute.Expand">
            <summary>
            Gets or sets whether to expand the control representing the associated object in the UI.
            </summary>
        </member>
        <member name="P:Stride.Core.DisplayAttribute.Browsable">
            <summary>
            Gets or sets whether the related member is browsable when its class is exposed in the UI. 
            </summary>
        </member>
        <member name="M:Stride.Core.DisplayAttribute.GetDisplay(System.Reflection.MemberInfo)">
            <summary>
            Gets the display attribute attached to the specified member info.
            </summary>
            <param name="memberInfo">Member type (Property, Field or Type).</param>
            <returns>DisplayAttribute.</returns>
            <exception cref="T:System.ArgumentNullException">memberInfo</exception>
        </member>
        <member name="M:Stride.Core.DisplayAttribute.GetDisplayName(System.Type)">
            <summary>
            Gets the display name of the given type. The display name is the name of the type, or, if the <see cref="T:Stride.Core.DisplayAttribute"/> is
            applied on the type, value of the <see cref="P:Stride.Core.DisplayAttribute.Name"/> property.
            </summary>
            <param name="type">The type for which to get the display name.</param>
            <returns>A string representing the display name of the type.</returns>
        </member>
        <member name="T:Stride.Core.DisposeBase">
            <summary>
            Base class for a <see cref="T:System.IDisposable"/> interface.
            </summary>
        </member>
        <member name="P:Stride.Core.DisposeBase.IsDisposed">
            <summary>
            Has the component been disposed or not yet.
            </summary>
        </member>
        <member name="M:Stride.Core.DisposeBase.Destroy">
            <summary>
            Disposes of object resources.
            </summary>
        </member>
        <member name="P:Stride.Core.DisposeBase.Stride#Core#IReferencable#ReferenceCount">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.DisposeBase.Stride#Core#IReferencable#AddReference">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.DisposeBase.Stride#Core#IReferencable#Release">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Extensions.ArrayExtensions">
            <summary>
            Extensions for list and arrays.
            </summary>
        </member>
        <member name="M:Stride.Core.Extensions.ArrayExtensions.ArraysEqual``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IList{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Deeply compares of two <see cref="T:System.Collections.Generic.IList`1"/>.
            </summary>
            <typeparam name="T">Type of the object to compare</typeparam>
            <param name="a1">The list1 to compare</param>
            <param name="a2">The list2 to compare</param>
            <param name="comparer">The comparer to use (or default to the default EqualityComparer for T)</param>
            <returns><c>true</c> if the list are equal</returns>
        </member>
        <member name="M:Stride.Core.Extensions.ArrayExtensions.ArraysReferenceEqual``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IList{``0})">
            <summary>
            Compares of two <see cref="T:System.Collections.Generic.IList`1"/> using operator !=.
            </summary>
            <typeparam name="T">Type of the object to compare</typeparam>
            <param name="a1">The list1 to compare</param>
            <param name="a2">The list2 to compare</param>
            <returns><c>true</c> if the list are equal</returns>
        </member>
        <member name="M:Stride.Core.Extensions.ArrayExtensions.ArraysReferenceEqual``1(Stride.Core.Collections.FastListStruct{``0},Stride.Core.Collections.FastListStruct{``0})">
            <summary>
            Compares of two <see cref="T:Stride.Core.Collections.FastListStruct`1"/> using operator !=.
            </summary>
            <typeparam name="T">Type of the object to compare</typeparam>
            <param name="a1">The list1 to compare</param>
            <param name="a2">The list2 to compare</param>
            <returns><c>true</c> if the list are equal</returns>
        </member>
        <member name="M:Stride.Core.Extensions.ArrayExtensions.ArraysReferenceEqual``1(Stride.Core.Collections.FastListStruct{``0}@,Stride.Core.Collections.FastListStruct{``0}@)">
            <summary>
            Compares of two <see cref="T:Stride.Core.Collections.FastListStruct`1"/> using operator !=.
            </summary>
            <typeparam name="T">Type of the object to compare</typeparam>
            <param name="a1">The list1 to compare</param>
            <param name="a2">The list2 to compare</param>
            <returns><c>true</c> if the list are equal</returns>
        </member>
        <member name="M:Stride.Core.Extensions.ArrayExtensions.ComputeHash``1(System.Collections.Generic.ICollection{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Computes the hash of a collection using hash of each elements.
            </summary>
            <typeparam name="T">Type of the object to calculate the hash</typeparam>
            <param name="data">The list to generates the hash</param>
            <param name="comparer">The comparer to use (or use the default comparer otherwise)</param>
            <returns>The hashcode of the collection.</returns>
        </member>
        <member name="M:Stride.Core.Extensions.ArrayExtensions.ComputeHash``1(``0[],System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Computes the hash of the array.
            </summary>
            <typeparam name="T">Type of the object to calculate the hash</typeparam>
            <param name="data">The array to generates the hash</param>
            <param name="comparer">The comparer to use (or use the default comparer otherwise)</param>
            <returns>The hashcode of the array.</returns>
        </member>
        <member name="M:Stride.Core.Extensions.ArrayExtensions.SubArray``1(``0[],System.Int32,System.Int32)">
            <summary>
            Extracts a sub-array from an array.
            </summary>
            <typeparam name="T">Type of the array element</typeparam>
            <param name="data">The array to slice</param>
            <param name="index">The start of the index to get the data from.</param>
            <param name="length">The length of elements to slice</param>
            <returns>A slice of the array.</returns>
        </member>
        <member name="M:Stride.Core.Extensions.ArrayExtensions.Concat``1(``0[],``0[])">
            <summary>
            Concats two arrays.
            </summary>
            <typeparam name="T">Type of the array element</typeparam>
            <param name="array1">The array1 to concat</param>
            <param name="array2">The array2 to concat</param>
            <returns>The concat of the array.</returns>
        </member>
        <member name="T:Stride.Core.Extensions.CollectionExtensions">
            <summary>
            An extension class for various types of collection.
            </summary>
        </member>
        <member name="M:Stride.Core.Extensions.CollectionExtensions.SwapRemove``1(System.Collections.Generic.IList{``0},``0)">
            <summary>
            Remove an item by swapping it with the last item and removing it from the last position. This function prevents to shift values from the list on removal but does not maintain order.
            </summary>
            <param name="list">The list.</param>
            <param name="item">The item to remove.</param>
        </member>
        <member name="M:Stride.Core.Extensions.CollectionExtensions.SwapRemoveAt``1(System.Collections.Generic.IList{``0},System.Int32)">
            <summary>
            Remove an item by swapping it with the last item and removing it from the last position. This function prevents to shift values from the list on removal but does not maintain order.
            </summary>
            <param name="list">The list.</param>
            <param name="index">Index of the item to remove.</param>
        </member>
        <member name="M:Stride.Core.Extensions.CollectionExtensions.GetItemOrNull``1(System.Collections.Generic.IList{``0},System.Int32)">
            <summary>
            Gets the item from a list at a specified index. If index is out of the list, returns null.
            </summary>
            <typeparam name="T">Type of the item in the list</typeparam>
            <param name="list">The list.</param>
            <param name="index">The index.</param>
            <returns>The item from a list at a specified index. If index is out of the list, returns null..</returns>
        </member>
        <member name="M:Stride.Core.Extensions.CollectionExtensions.IndexOf``1(System.Collections.Generic.IReadOnlyList{``0},``0)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IReadOnlyList`1"/>.
            </summary>
            <param name="list">The list.</param>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IReadOnlyList`1"/>.</param>
            <returns>The index of item if found in the list; otherwise, -1.</returns>
        </member>
        <member name="M:Stride.Core.Extensions.EnumerableExtensions.IsNullOrEmpty(System.Collections.IEnumerable)">
            <summary>
            Tells whether a sequence is null or empty.
            </summary>
            <param name="source">The source sequence.</param>
            <returns>Returns true if the sequence is null or empty, false if it is not null and contains at least one element.</returns>
        </member>
        <member name="M:Stride.Core.Extensions.EnumerableExtensions.ForEach``1(System.Collections.IEnumerable,System.Action{``0})">
            <summary>
            Executes an action for each (casted) item of the given enumerable.
            </summary>
            <typeparam name="T">Type of the item value in the enumerable.</typeparam>
            <param name="source">Input enumerable to work on.</param>
            <param name="action">Action performed for each item in the enumerable.</param>
            <remarks>This extension method do not yield. It acts just like a foreach statement, and performs a cast to a typed enumerable in the middle.</remarks>
        </member>
        <member name="M:Stride.Core.Extensions.EnumerableExtensions.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
            <summary>
            Executes an action for each item of the given enumerable.
            </summary>
            <typeparam name="T">Type of the item value in the enumerable.</typeparam>
            <param name="source">Input enumerable to work on.</param>
            <param name="action">Action performed for each item in the enumerable.</param>
            <remarks>This extension method do not yield. It acts just like a foreach statement.</remarks>
        </member>
        <member name="M:Stride.Core.Extensions.EnumerableExtensions.IndexOf``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> extension method that searches for the first match and returns its index.
            </summary>
            <typeparam name="T">Generic type parameter.</typeparam>
            <param name="source">Input enumerable to work on.</param>
            <param name="predicate">The predicate.</param>
            <returns>The index of the first element matching.</returns>
        </member>
        <member name="M:Stride.Core.Extensions.EnumerableExtensions.LastIndexOf``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
            <summary>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> extension method that searches for the last match and returns its index.
            </summary>
            <typeparam name="T">Generic type parameter.</typeparam>
            <param name="source">Input enumerable to work on.</param>
            <param name="predicate">The predicate.</param>
            <returns>The index of the last element matching.</returns>
        </member>
        <member name="M:Stride.Core.Extensions.EnumerableExtensions.NotNull``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Filters out null items from the enumerable.
            </summary>
            <typeparam name="T">Generic type parameter.</typeparam>
            <param name="source">Input enumerable to work on.</param>
            <returns>An enumeration of all items in <paramref name="source"/> that are not <c>null</c>.</returns>
        </member>
        <member name="M:Stride.Core.Extensions.EnumerableExtensions.NotNull``1(System.Collections.Generic.IEnumerable{System.Nullable{``0}})">
            <summary>
            Filters out null items from the enumerable.
            </summary>
            <typeparam name="T">Generic type parameter.</typeparam>
            <param name="source">Input enumerable to work on.</param>
            <returns>An enumeration of all items in <paramref name="source"/> that are not <c>null</c>.</returns>
        </member>
        <member name="M:Stride.Core.Extensions.EnumerableExtensions.EnumerateNodes``1(System.Collections.Generic.LinkedList{``0})">
            <summary>
            Enumerates the linked list nodes.
            </summary>
            <param name="list">The linked list.</param>
            <returns>An enumeration of the linked list nodes.</returns>
        </member>
        <member name="M:Stride.Core.Extensions.EnumerableExtensions.ToHashCode``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Calculates a combined hash code for items of the enumerbale.
            </summary>
            <typeparam name="T">Generic type parameter.</typeparam>
            <param name="source">Input enumerable to work on.</param>
            <returns>A combined hash code or 0 if the source is empty.</returns>
        </member>
        <member name="T:Stride.Core.Extensions.NamespaceDoc">
            <summary>
            The <see cref="N:Stride.Core.Extensions"/> namespace contains a set of static classes that extends common types, providing additional helper methods.
            </summary>
        </member>
        <member name="T:Stride.Core.FrameworkResources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Stride.Core.FrameworkResources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Stride.Core.FrameworkResources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Stride.Core.FrameworkResources.AddReferenceError">
            <summary>
              Looks up a localized string similar to Cannot add a reference for an object already released. AddReference/Release pair must match..
            </summary>
        </member>
        <member name="P:Stride.Core.FrameworkResources.ReleaseReferenceError">
            <summary>
              Looks up a localized string similar to Cannot release an object that doesn&apos;t have active reference. AddReference/Release pair must match..
            </summary>
        </member>
        <member name="T:Stride.Core.ICollectorHolder">
            <summary>
            Interface ICollectorHolder for an instance that can collect other instance.
            </summary>
        </member>
        <member name="P:Stride.Core.ICollectorHolder.Collector">
            <summary>
            Gets the collector.
            </summary>
            <value>The collector.</value>
        </member>
        <member name="T:Stride.Core.IComponent">
            <summary>
            Base interface for all components.
            </summary>
        </member>
        <member name="P:Stride.Core.IComponent.Name">
            <summary>
            Gets the name of this component.
            </summary>
            <value>The name.</value>
        </member>
        <member name="T:Stride.Core.IContentUrl">
            <summary>
            Interface for serializable object having an url (so referenceable by other assets and saved into a single blob file)
            </summary>
        </member>
        <member name="P:Stride.Core.IContentUrl.Url">
            <summary>
            The URL of this asset.
            </summary>
        </member>
        <member name="T:Stride.Core.IIdentifiable">
            <summary>
            Base interface for all identifiable instances.
            </summary>
        </member>
        <member name="P:Stride.Core.IIdentifiable.Id">
            <summary>
            Gets the id of this instance
            </summary>
        </member>
        <member name="T:Stride.Core.IReferencable">
            <summary>
            Base interface for all referencable objects.
            </summary>
        </member>
        <member name="P:Stride.Core.IReferencable.ReferenceCount">
            <summary>
            Gets the reference count of this instance.
            </summary>
            <value>
            The reference count.
            </value>
        </member>
        <member name="M:Stride.Core.IReferencable.AddReference">
            <summary>
            Increments the reference count of this instance.
            </summary>
            <returns>The method returns the new reference count.</returns>
        </member>
        <member name="M:Stride.Core.IReferencable.Release">
            <summary>
            Decrements the reference count of this instance.
            </summary>
            <returns>The method returns the new reference count.</returns>
            <remarks>When the reference count is going to 0, the component should release/dispose dependents objects.</remarks>
        </member>
        <member name="T:Stride.Core.IServiceRegistry">
            <summary>
            A service registry is a <see cref="T:System.IServiceProvider"/> that provides methods to register and unregister services.
            </summary>
        </member>
        <member name="E:Stride.Core.IServiceRegistry.ServiceAdded">
            <summary>
            Occurs when a new service is added to the registry.
            </summary>
        </member>
        <member name="E:Stride.Core.IServiceRegistry.ServiceRemoved">
            <summary>
            Occurs when a service is removed from the registry.
            </summary>
        </member>
        <member name="M:Stride.Core.IServiceRegistry.AddService``1(``0)">
            <summary>
            Adds a service to this <see cref="T:Stride.Core.ServiceRegistry"/>.
            </summary>
            <typeparam name="T">The type of service to add.</typeparam>
            <param name="service">The service to add.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when the provided service is null.</exception>
            <exception cref="T:System.ArgumentException">Thrown when a service of the same type is already registered.</exception>
        </member>
        <member name="M:Stride.Core.IServiceRegistry.GetService``1">
            <summary>
            Gets the service object of the specified type.
            </summary>
            <typeparam name="T">The type of the service to retrieve.</typeparam>
            <returns>A service of the requested type, or [null] if not found.</returns>
        </member>
        <member name="M:Stride.Core.IServiceRegistry.RemoveService``1">
            <summary>
            Removes the object providing a specified service.
            </summary>
            <typeparam name="T">The type of the service to remove.</typeparam>
        </member>
        <member name="T:Stride.Core.NamespaceDoc">
            <summary>
            The <see cref="N:Stride.Core"/> namespace contains fundamental classes and interfaces that are commonly used in Stride.
            </summary>
        </member>
        <member name="M:Stride.Core.NativeLibraryHelper.PreloadLibrary(System.String,System.Type)">
            <summary>
            Try to preload the library.
            This is useful when we want to have AnyCPU .NET and CPU-specific native code.
            Only available on Windows for now.
            </summary>
            <param name="libraryName">Name of the library, without the extension.</param>
            <param name="owner">Type whose assembly location is related to the native library (we can't use GetCallingAssembly as it might be wrong due to optimizations).</param>
            <exception cref="T:System.InvalidOperationException">Library could not be loaded.</exception>
        </member>
        <member name="M:Stride.Core.NativeLibraryHelper.UnLoad(System.String)">
            <summary>
            UnLoad a specific native dynamic library loaded previously by <see cref="!:LoadLibrary" />.
            </summary>
            <param name="libraryName">Name of the library to unload.</param>
        </member>
        <member name="M:Stride.Core.NativeLibraryHelper.UnLoadAll">
            <summary>
            UnLoad all native dynamic library loaded previously by <see cref="!:LoadLibrary"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.NativeLibraryHelper.RegisterDependency(System.String)">
            <summary>
            Registers a native dependency.
            </summary>
            <param name="libraryPath">The full path to the native library.</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="T:Stride.Core.ObjectCollector">
            <summary>
            A struct to dispose <see cref="T:System.IDisposable"/>, <see cref="T:Stride.Core.IReferencable"/> instances and allocated unmanaged memory.
            </summary>
        </member>
        <member name="P:Stride.Core.ObjectCollector.Count">
            <summary>
            Gets the number of elements to dispose.
            </summary>
            <value>The number of elements to dispose.</value>
        </member>
        <member name="M:Stride.Core.ObjectCollector.Dispose">
            <summary>
            Disposes all object collected by this class and clear the list. The collector can still be used for collecting.
            </summary>
            <remarks>
            To completely dispose this instance and avoid further dispose, use <see cref="M:Stride.Core.ObjectCollector.Dispose"/> method instead.
            </remarks>
        </member>
        <member name="M:Stride.Core.ObjectCollector.Add``1(``0)">
            <summary>
            Adds a <see cref="T:System.IDisposable"/> object or a <see cref="T:System.IntPtr"/> allocated using <see cref="M:Stride.Core.Utilities.AllocateMemory(System.Int32,System.Int32)"/> to the list of the objects to dispose.
            </summary>
            <param name="objectToDispose">To dispose.</param>
            <exception cref="T:System.ArgumentException">If objectToDispose argument is not IDisposable or a valid memory pointer allocated by <see cref="M:Stride.Core.Utilities.AllocateMemory(System.Int32,System.Int32)"/></exception>
        </member>
        <member name="M:Stride.Core.ObjectCollector.RemoveAndDispose``1(``0@)">
            <summary>
            Dispose a disposable object and set the reference to null. Removes this object from this instance..
            </summary>
            <param name="objectToDispose">Object to dispose.</param>
        </member>
        <member name="M:Stride.Core.ObjectCollector.Remove``1(``0)">
            <summary>
            Removes a disposable object to the list of the objects to dispose.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="objectToDispose">To dispose.</param>
        </member>
        <member name="T:Stride.Core.ObjectInvalidationCallback`1">
            <summary>
            Delegate ObjectInvalidatorCallback used by <see cref="T:Stride.Core.ObjectInvalidationMetadata"/>.
            </summary>
            <param name="propertyOwner">The owner of the property that changed.</param>
            <param name="propertyKey">The key of the property that changed.</param>
            <param name="propertyOldValue">The value of the property before its modification.</param>
        </member>
        <member name="T:Stride.Core.ObjectInvalidationMetadata`1">
            <summary>
            Metadata used to invalidate an object state after a property value modification.
            </summary>
        </member>
        <member name="M:Stride.Core.ObjectInvalidationMetadata`1.#ctor(Stride.Core.ObjectInvalidationCallback{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.ObjectInvalidationMetadata`1"/> class.
            </summary>
            <param name="invalidationCallback">The object invalidation callback.</param>
            <exception cref="T:System.ArgumentNullException">Parameter <paramref name="invalidationCallback"/> is null.</exception>
        </member>
        <member name="M:Stride.Core.ObjectInvalidationMetadata`1.#ctor(Stride.Core.ObjectInvalidationRefCallback{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.ObjectInvalidationMetadata`1"/> class.
            </summary>
            <param name="invalidationRefCallback">The object invalidation callback.</param>
            <exception cref="T:System.ArgumentNullException">Parameter <paramref name="invalidationRefCallback"/> is null.</exception>
        </member>
        <member name="T:Stride.Core.Platform">
            <summary>
            Platform specific queries and functions.
            </summary>
        </member>
        <member name="F:Stride.Core.Platform.Type">
            <summary>
            The current running <see cref="T:Stride.Core.PlatformType"/>.
            </summary>
        </member>
        <member name="F:Stride.Core.Platform.IsWindowsDesktop">
            <summary>
            Gets a value indicating whether the running platform is windows desktop.
            </summary>
            <value><c>true</c> if this instance is windows desktop; otherwise, <c>false</c>.</value>
        </member>
        <member name="F:Stride.Core.Platform.IsRunningDebugAssembly">
            <summary>
            Gets a value indicating whether the running assembly is a debug assembly.
            </summary>
        </member>
        <member name="M:Stride.Core.Platform.GetIsRunningDebugAssembly">
            <summary>
            Check if running assembly has the DebuggableAttribute set with the `DisableOptimizations` mode enabled.
            This function is called only once.
            </summary>
        </member>
        <member name="T:Stride.Core.PlatformFolders">
            <summary>
            Folders used for the running platform.
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformFolders.TemporaryDirectory">
            <summary>
            The system temporary directory.
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformFolders.ApplicationTemporaryDirectory">
            <summary>
            The Application temporary directory.
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformFolders.ApplicationLocalDirectory">
            <summary>
            The application local directory, where user can write local data (included in backup).
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformFolders.ApplicationRoamingDirectory">
            <summary>
            The application roaming directory, where user can write roaming data (included in backup).
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformFolders.ApplicationCacheDirectory">
            <summary>
            The application cache directory, where user can write data that won't be backup.
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformFolders.ApplicationDataDirectory">
            <summary>
            The application data directory, where data is deployed.
            It could be read-only on some platforms.
            </summary>
        </member>
        <member name="P:Stride.Core.PlatformFolders.ApplicationDataSubDirectory">
            <summary>
            The (optional) application data subdirectory. If not null or empty, /data will be mounted on <see cref="F:Stride.Core.PlatformFolders.ApplicationDataDirectory"/>/<see cref="P:Stride.Core.PlatformFolders.ApplicationDataSubDirectory"/>
            </summary>
            <remarks>This property should not be written after the VirtualFileSystem static initialization. If so, an InvalidOperationExeception will be thrown.</remarks>
        </member>
        <member name="F:Stride.Core.PlatformFolders.ApplicationBinaryDirectory">
            <summary>
            The application directory, where assemblies are deployed.
            It could be read-only on some platforms.
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformFolders.ApplicationExecutablePath">
            <summary>
            Get the path to the application executable.
            </summary>
            <remarks>Might be null if start executable is unknown.</remarks>
        </member>
        <member name="T:Stride.Core.PlatformType">
            <summary>
            Describes the platform operating system.
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformType.Shared">
            <summary>
            This is shared across platforms
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformType.Windows">
            <summary>
            The windows desktop OS.
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformType.Android">
            <summary>
            The android OS.
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformType.iOS">
            <summary>
            The iOS.
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformType.UWP">
            <summary>
            The Universal Windows Platform (UWP).
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformType.Linux">
            <summary>
            The Linux OS.
            </summary>
        </member>
        <member name="F:Stride.Core.PlatformType.macOS">
            <summary>
            macOS
            </summary>
        </member>
        <member name="T:Stride.Core.PropertyContainer">
            <summary>
            Represents a container that can hold properties, lightweight to embed (lazy initialized).
            </summary>
            <remarks>
            Tag properties system purpose is to allow binding of properties that aren't logically supposed to be
            in a general class (probably because the property exists only in a higher level part of the engine).
            A typical example includes source mesh, collision data and various bouding volumes for a Geometry object:
            including them directly in the low-level Geometry class would be a terrible design decision !
            And the other well known solution, which consist of maintaining a Dictionary of object to properties
            isn't really nice either (especially with non-deterministic object destruction, it's hard to clean it up, would require lot of events).
            As a result, a specific system has been implemented.
            A class that could hold such tag properties should have an instance of <see cref="T:Stride.Core.PropertyContainer"/> as a mutable field member.
            An cool feature of this system is that if a property doesn't exist, it could be generated during first access from a delegate or come from a default value.
            </remarks>
        </member>
        <member name="T:Stride.Core.PropertyContainer.PropertyUpdatedDelegate">
            <summary>
            Property changed delegate.
            </summary>
            <param name="propertyContainer">The property container.</param>
            <param name="propertyKey">The property key.</param>
            <param name="newValue">The property new value.</param>
            <param name="oldValue">The property old value.</param>
        </member>
        <member name="E:Stride.Core.PropertyContainer.PropertyUpdated">
            <summary>
            Occurs when a property is modified.
            </summary>
        </member>
        <member name="M:Stride.Core.PropertyContainer.GetEnumerator">
            <summary>
            Gets the key-properties value pairs in this instance.
            </summary>
        </member>
        <member name="P:Stride.Core.PropertyContainer.Count">
            <summary>
            Gets the number of properties stored in this container.
            </summary>
            <value>The count of properties.</value>
        </member>
        <member name="M:Stride.Core.PropertyContainer.Add``1(Stride.Core.PropertyKey{``0},``0)">
            <summary>
            Adds the specified key-value pair.
            </summary>
            <typeparam name="T">Type of the property key</typeparam>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:Stride.Core.PropertyContainer.ContainsKey(Stride.Core.PropertyKey)">
            <summary>
            Determines whether the specified instance contains this key.
            </summary>
            <param name="key">The key.</param>
            <returns>
              <c>true</c> if the specified instance contains this key; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Stride.Core.PropertyContainer.CopyTo(Stride.Core.PropertyContainer@)">
            <summary>
            Copies properties from this instance to a container.
            </summary>
            <param name="destination">The destination.</param>
        </member>
        <member name="M:Stride.Core.PropertyContainer.Get(Stride.Core.PropertyKey)">
            <summary>
            Gets the specified tag value.
            </summary>
            <param name="propertyKey">The tag property.</param>
            <returns>Value of the tag property</returns>
        </member>
        <member name="M:Stride.Core.PropertyContainer.GetSafe``1(Stride.Core.PropertyKey{``0})">
            <summary>
            Gets the value of a property key or throw an error if the value was not found
            </summary>
            <typeparam name="T">Type of the property key</typeparam>
            <param name="propertyKey">The property key.</param>
            <returns>The value associated with this property key.</returns>
            <exception cref="T:System.ArgumentNullException">propertyKey</exception>
            <exception cref="T:System.ArgumentException">Unable to retrieve value for [{0}].ToFormat(propertyKey)</exception>
        </member>
        <member name="M:Stride.Core.PropertyContainer.Get``1(Stride.Core.PropertyKey{``0})">
            <summary>
            Gets the specified tag value.
            </summary>
            <typeparam name="T">Type of the tag value</typeparam>
            <param name="propertyKey">The tag property.</param>
            <returns>Typed value of the tag property</returns>
        </member>
        <member name="M:Stride.Core.PropertyContainer.TryGetValue(Stride.Core.PropertyKey,System.Object@)">
            <summary>
            Tries to get a tag value.
            </summary>
            <param name="propertyKey">The tag property.</param>
            <param name="value">The value or default vaue if not found</param>
            <returns>Returns <c>true</c> if the was found; <c>false</c> otherwise</returns>
        </member>
        <member name="M:Stride.Core.PropertyContainer.TryGetValue``1(Stride.Core.PropertyKey{``0},``0@)">
            <summary>
            Tries to get a tag value.
            </summary>
            <typeparam name="T">Type of the tag value</typeparam>
            <param name="propertyKey">The tag property.</param>
            <param name="value">The value or default vaue if not found</param>
            <returns>Returns <c>true</c> if the was found; <c>false</c> otherwise</returns>
        </member>
        <member name="M:Stride.Core.PropertyContainer.Set``1(Stride.Core.PropertyKey{``0},``0)">
            <summary>
            Sets the specified tag value.
            </summary>
            <typeparam name="T">Type of the tag value</typeparam>
            <param name="propertyKey">The tag property.</param>
            <param name="tagValue">The tag value.</param>
        </member>
        <member name="M:Stride.Core.PropertyContainer.SetObject(Stride.Core.PropertyKey,System.Object)">
            <summary>
            Sets the specified tag value.
            </summary>
            <param name="propertyKey">The tag property.</param>
            <param name="tagValue">The tag value.</param>
        </member>
        <member name="T:Stride.Core.PropertyContainerClass">
            <summary>
            Class wrapper around <see cref="T:Stride.Core.PropertyContainer"/>.
            </summary>
        </member>
        <member name="P:Stride.Core.PropertyContainerClass.Count">
            <inheritdoc />
        </member>
        <member name="P:Stride.Core.PropertyContainerClass.IsReadOnly">
            <inheritdoc />
        </member>
        <member name="P:Stride.Core.PropertyContainerClass.Keys">
            <inheritdoc />
        </member>
        <member name="P:Stride.Core.PropertyContainerClass.Owner">
            <inheritdoc />
        </member>
        <member name="P:Stride.Core.PropertyContainerClass.Values">
            <inheritdoc />
        </member>
        <member name="P:Stride.Core.PropertyContainerClass.Item(Stride.Core.PropertyKey)">
            <inheritdoc />
        </member>
        <member name="E:Stride.Core.PropertyContainerClass.PropertyUpdated">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.Clear">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.Add``1(Stride.Core.PropertyKey{``0},``0)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.ContainsKey(Stride.Core.PropertyKey)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.Remove(Stride.Core.PropertyKey)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.CopyTo(Stride.Core.PropertyContainer@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.Get(Stride.Core.PropertyKey)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.GetSafe``1(Stride.Core.PropertyKey{``0})">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.Get``1(Stride.Core.PropertyKey{``0})">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.TryGetValue(Stride.Core.PropertyKey,System.Object@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.TryGetValue``1(Stride.Core.PropertyKey{``0},``0@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.Set``1(Stride.Core.PropertyKey{``0},``0)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.SetObject(Stride.Core.PropertyKey,System.Object)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.RaisePropertyContainerUpdated(Stride.Core.PropertyKey,System.Object,System.Object)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{Stride#Core#PropertyKey,System#Object}}#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{Stride#Core#PropertyKey,System#Object}}#Add(System.Collections.Generic.KeyValuePair{Stride.Core.PropertyKey,System.Object})">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{Stride#Core#PropertyKey,System#Object}}#Contains(System.Collections.Generic.KeyValuePair{Stride.Core.PropertyKey,System.Object})">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{Stride#Core#PropertyKey,System#Object}}#CopyTo(System.Collections.Generic.KeyValuePair{Stride.Core.PropertyKey,System.Object}[],System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{Stride#Core#PropertyKey,System#Object}}#Remove(System.Collections.Generic.KeyValuePair{Stride.Core.PropertyKey,System.Object})">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.PropertyContainerClass.System#Collections#Generic#IDictionary{Stride#Core#PropertyKey,System#Object}#Add(Stride.Core.PropertyKey,System.Object)">
            <inheritdoc />
        </member>
        <member name="P:Stride.Core.PropertyContainerClass.System#Collections#Generic#IReadOnlyDictionary{Stride#Core#PropertyKey,System#Object}#Keys">
            <inheritdoc />
        </member>
        <member name="P:Stride.Core.PropertyContainerClass.System#Collections#Generic#IReadOnlyDictionary{Stride#Core#PropertyKey,System#Object}#Values">
            <inheritdoc />
        </member>
        <member name="T:Stride.Core.PropertyKey">
            <summary>
            A class that represents a tag propety.
            </summary>
        </member>
        <member name="M:Stride.Core.PropertyKey.#ctor(System.String,System.Type,System.Type,Stride.Core.PropertyKeyMetadata[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.PropertyKey"/> class.
            </summary>
            <param name="name">The name.</param>
            <param name="propertyType">Type of the property.</param>
            <param name="ownerType">Type of the owner.</param>
            <param name="metadatas">The metadatas.</param>
        </member>
        <member name="P:Stride.Core.PropertyKey.Name">
            <summary>
            Gets the name of this key.
            </summary>
        </member>
        <member name="P:Stride.Core.PropertyKey.DefaultValueMetadata">
            <summary>
            Gets the default value metadata.
            </summary>
        </member>
        <member name="P:Stride.Core.PropertyKey.ValidateValueMetadata">
            <summary>
            Gets the validate value metadata (may be null).
            </summary>
            <value>The validate value metadata.</value>
        </member>
        <member name="P:Stride.Core.PropertyKey.ObjectInvalidationMetadata">
            <summary>
            Gets the object invalidation metadata (may be null).
            </summary>
            <value>The object invalidation metadata.</value>
        </member>
        <member name="P:Stride.Core.PropertyKey.AccessorMetadata">
            <summary>
            Gets the accessor metadata (may be null).
            </summary>
            <value>The accessor metadata.</value>
        </member>
        <member name="P:Stride.Core.PropertyKey.PropertyUpdateCallback">
            <summary>Gets the property update callback.</summary>
            <value>The property update callback.</value>
        </member>
        <member name="P:Stride.Core.PropertyKey.Metadatas">
            <summary>
            Gets the metadatas.
            </summary>
        </member>
        <member name="P:Stride.Core.PropertyKey.OwnerType">
            <summary>
            Gets the type of the owner.
            </summary>
            <value>
            The type of the owner.
            </value>
        </member>
        <member name="P:Stride.Core.PropertyKey.PropertyType">
            <summary>
            Gets the type of the property.
            </summary>
            <value>
            The type of the property.
            </value>
        </member>
        <member name="T:Stride.Core.PropertyKey`1">
            <summary>
            A class that represents a typed tag propety.
            </summary>
            <typeparam name="T">Type of the property</typeparam>
        </member>
        <member name="M:Stride.Core.PropertyKey`1.#ctor(System.String,System.Type,Stride.Core.PropertyKeyMetadata[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.PropertyKey`1"/> class.
            </summary>
            <param name="name">The name.</param>
            <param name="ownerType">Type of the owner.</param>
            <param name="metadatas">The metadatas.</param>
        </member>
        <member name="P:Stride.Core.PropertyKey`1.IsValueType">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.PropertyKey`1.DefaultValueMetadataT">
            <summary>
            Gets the default value metadata.
            </summary>
        </member>
        <member name="P:Stride.Core.PropertyKey`1.ValidateValueMetadataT">
            <summary>
            Gets the validate value metadata (may be null).
            </summary>
            <value>The validate value metadata.</value>
        </member>
        <member name="P:Stride.Core.PropertyKey`1.ObjectInvalidationMetadataT">
            <summary>
            Gets the object invalidation metadata (may be null).
            </summary>
            <value>The object invalidation metadata.</value>
        </member>
        <member name="T:Stride.Core.PropertyKeyMetadata">
            <summary>
            Specifies metadata for an <see cref="T:Stride.Core.PropertyKey"/>.
            </summary>
        </member>
        <member name="T:Stride.Core.ReferenceBase">
            <summary>
            Base class for a <see cref="T:Stride.Core.IReferencable"/> class.
            </summary>
        </member>
        <member name="P:Stride.Core.ReferenceBase.ReferenceCount">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.ReferenceBase.AddReference">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.ReferenceBase.Release">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.ReferenceBase.Destroy">
            <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
        </member>
        <member name="M:Stride.Core.ReferenceCounting.ReferenceCountingExtensions.AddReferenceInternal(Stride.Core.IReferencable)">
            <summary>
            Increments the reference count of this instance.
            </summary>
            <returns>The method returns the new reference count.</returns>
        </member>
        <member name="M:Stride.Core.ReferenceCounting.ReferenceCountingExtensions.ReleaseInternal(Stride.Core.IReferencable)">
            <summary>
            Decrements the reference count of this instance.
            </summary>
            <returns>The method returns the new reference count.</returns>
            <remarks>When the reference count is going to 0, the component should release/dispose dependents objects.</remarks>
        </member>
        <member name="T:Stride.Core.ReferenceEqualityComparer`1">
            <summary>
            A Comparator to use <see cref="M:System.Object.ReferenceEquals(System.Object,System.Object)"/> method.
            </summary>
            <typeparam name="T">Type of the comparer</typeparam>
        </member>
        <member name="P:Stride.Core.ReferenceEqualityComparer`1.Default">
            <summary>
            Gets the default.
            </summary>
        </member>
        <member name="M:Stride.Core.ReferenceEqualityComparer`1.Equals(`0,`0)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.ReferenceEqualityComparer`1.GetHashCode(`0)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Reflection.AssemblyCommonCategories">
            <summary>
            Common categories that can be used with <see cref="T:Stride.Core.Reflection.AssemblyRegistry"/>
            </summary>
        </member>
        <member name="F:Stride.Core.Reflection.AssemblyCommonCategories.Engine">
            <summary>
            The assembly is containing engine data.
            </summary>
        </member>
        <member name="F:Stride.Core.Reflection.AssemblyCommonCategories.Assets">
            <summary>
            The assembly is containing assets data.
            </summary>
        </member>
        <member name="T:Stride.Core.Reflection.AssemblyRegisteredEventArgs">
            <summary>
            An event occurring when an assembly is registered with <see cref="T:Stride.Core.Reflection.AssemblyRegistry"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.Reflection.AssemblyRegisteredEventArgs.#ctor(System.Reflection.Assembly,System.Collections.Generic.HashSet{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Reflection.AssemblyRegisteredEventArgs"/> class.
            </summary>
            <param name="assembly">The assembly.</param>
            <param name="categories">The categories.</param>
        </member>
        <member name="P:Stride.Core.Reflection.AssemblyRegisteredEventArgs.Assembly">
            <summary>
            Gets the assembly that has been registered.
            </summary>
            <value>The assembly.</value>
        </member>
        <member name="P:Stride.Core.Reflection.AssemblyRegisteredEventArgs.Categories">
            <summary>
            Gets the new categories registered for the specified <see cref="P:Stride.Core.Reflection.AssemblyRegisteredEventArgs.Assembly"/>
            </summary>
            <value>The categories.</value>
        </member>
        <member name="T:Stride.Core.Reflection.AssemblyRegistry">
            <summary>
            Provides a basic infrastructure to associate an assembly with some categories and to
            query and register on new registered assembly event.
            </summary>
        </member>
        <member name="E:Stride.Core.Reflection.AssemblyRegistry.AssemblyRegistered">
            <summary>
            Occurs when an assembly is registered.
            </summary>
        </member>
        <member name="E:Stride.Core.Reflection.AssemblyRegistry.AssemblyUnregistered">
            <summary>
            Occurs when an assembly is registered.
            </summary>
        </member>
        <member name="M:Stride.Core.Reflection.AssemblyRegistry.FindAll">
            <summary>
            Finds all registered assemblies.
            </summary>
            <returns>A set of all assembly registered.</returns>
            <exception cref="T:System.ArgumentNullException">categories</exception>
        </member>
        <member name="M:Stride.Core.Reflection.AssemblyRegistry.GetTypeFromAlias(System.String)">
            <summary>
            Gets a type from its <see cref="P:Stride.Core.DataContractAttribute.Alias"/> or <see cref="P:Stride.Core.DataAliasAttribute.Name"/>.
            </summary>
            <param name="alias"></param>
            <returns></returns>
        </member>
        <member name="M:Stride.Core.Reflection.AssemblyRegistry.GetType(System.String,System.Boolean)">
            <summary>
            Gets a type by its typename already loaded in the assembly registry.
            </summary>
            <param name="fullyQualifiedTypeName">The typename</param>
            <param name="throwOnError"></param>
            <returns>The type instance or null if not found.</returns>
            <seealso cref="M:System.Type.GetType(System.String,System.Boolean)"/>
            <seealso cref="M:System.Reflection.Assembly.GetType(System.String,System.Boolean)"/>
        </member>
        <member name="M:Stride.Core.Reflection.AssemblyRegistry.Find(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Finds registered assemblies that are associated with the specified categories.
            </summary>
            <param name="categories">The categories.</param>
            <returns>A set of assembly associated with the specified categories.</returns>
            <exception cref="T:System.ArgumentNullException">categories</exception>
        </member>
        <member name="M:Stride.Core.Reflection.AssemblyRegistry.Find(System.String[])">
            <summary>
            Finds registered assemblies that are associated with the specified categories.
            </summary>
            <param name="categories">The categories.</param>
            <returns>A set of assemblies associated with the specified categories.</returns>
            <exception cref="T:System.ArgumentNullException">categories</exception>
        </member>
        <member name="M:Stride.Core.Reflection.AssemblyRegistry.FindCategories(System.Reflection.Assembly)">
            <summary>
            Finds registered categories that are associated with the specified assembly.
            </summary>
            <param name="assembly">The assembly.</param>
            <returns>A set of category associated with the specified assembly.</returns>
            <exception cref="T:System.ArgumentNullException">categories</exception>
        </member>
        <member name="M:Stride.Core.Reflection.AssemblyRegistry.Register(System.Reflection.Assembly,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Registers an assembly with the specified categories.
            </summary>
            <param name="assembly">The assembly.</param>
            <param name="categories">The categories to associate with this assembly.</param>
            <exception cref="T:System.ArgumentNullException">
            assembly
            or
            categories
            </exception>
        </member>
        <member name="M:Stride.Core.Reflection.AssemblyRegistry.Register(System.Reflection.Assembly,System.String[])">
            <summary>
            Registers an assembly with the specified categories.
            </summary>
            <param name="assembly">The assembly.</param>
            <param name="categories">The categories to associate with this assembly.</param>
            <exception cref="T:System.ArgumentNullException">
            assembly
            or
            categories
            </exception>
        </member>
        <member name="M:Stride.Core.Reflection.AssemblyRegistry.Unregister(System.Reflection.Assembly)">
            <summary>
            Unregisters the specified assembly.
            </summary>
            <param name="assembly">The assembly.</param>
        </member>
        <member name="T:Stride.Core.Reflection.AssemblyRegistry.ScanTypes">
            <summary>
            List types that matches a given <see cref="T:Stride.Core.Reflection.AssemblyScanAttribute"/> for a given assembly.
            </summary>
        </member>
        <member name="T:Stride.Core.Reflection.AssemblyScanAttribute">
            <summary>
            This attribute can be either used on class or interfaces to scan for types inheriting from them, or on an attribute to scan for types having this specific attribute.
            </summary>
        </member>
        <member name="T:Stride.Core.Reflection.IObjectFactory">
            <summary>
            Interface of a factory that can create instances of a type.
            </summary>
        </member>
        <member name="M:Stride.Core.Reflection.IObjectFactory.New(System.Type)">
            <summary>
            Creates a new instance of a type.
            </summary>
            <param name="type">The type of the instance to create.</param>
            <returns>A new default instance of a type.</returns>
        </member>
        <member name="T:Stride.Core.Reflection.NamespaceDoc">
            <summary>
            The <see cref="N:Stride.Core.Reflection"/> namespace contains objects and extensions class that provides support of reflection
            for platforms that does not fully implement <see cref="N:System.Reflection"/> classes.
            </summary>
        </member>
        <member name="T:Stride.Core.Reflection.ObjectFactoryRegistry">
            <summary>
            A registry of <see cref="T:Stride.Core.Reflection.IObjectFactory"/> used to instantiate instances of types used at design-time.
            </summary>
        </member>
        <member name="M:Stride.Core.Reflection.ObjectFactoryRegistry.GetFactory(System.Type)">
            <summary>
            Gets the factory corresponding to the given object type, if available.
            </summary>
            <param name="objectType">The object type for which to retrieve the factory.</param>
            <returns>The factory corresponding to the given object type if available, <c>null</c> otherwise.</returns>
            <exception cref="T:System.ArgumentNullException">objectType</exception>
        </member>
        <member name="M:Stride.Core.Reflection.ObjectFactoryRegistry.NewInstance``1">
            <summary>
            Creates a default instance for an object type.
            </summary>
            <typeparam name="T">Type of the object to create</typeparam>
            <returns>A new instance of T</returns>
        </member>
        <member name="M:Stride.Core.Reflection.ObjectFactoryRegistry.CanCreateInstance(System.Type)">
            <summary>
            Returns true if the object of the specific type can be created.
            </summary>
            <param name="objectType">Type of the object.</param>
            <returns>True if it can be created, false otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Reflection.ObjectFactoryRegistry.NewInstance(System.Type)">
            <summary>
            Creates a default instance for an object type.
            </summary>
            <param name="objectType">Type of the object.</param>
            <returns>A new default instance of an object.</returns>
        </member>
        <member name="T:Stride.Core.RuntimeIdHelper">
            <summary>
            Extension methods to get a runtime unique id from a live object.
            </summary>
        </member>
        <member name="M:Stride.Core.RuntimeIdHelper.ToRuntimeId(System.Object)">
            <summary>
            Computes an unique runtime id (32bits) valid for the specified <see cref="T:System.Object"/>.
            </summary>
            <returns>An unique runtime identifier (32bits)</returns>
        </member>
        <member name="T:Stride.Core.ScalarStyle">
            <summary>
            Specifies the style used for textual serialization of scalars.
            </summary>
        </member>
        <member name="F:Stride.Core.ScalarStyle.Any">
            <summary>
            Let the emitter choose the style.
            </summary>
        </member>
        <member name="F:Stride.Core.ScalarStyle.Plain">
            <summary>
            The plain scalar style.
            </summary>
        </member>
        <member name="F:Stride.Core.ScalarStyle.SingleQuoted">
            <summary>
            The single-quoted scalar style.
            </summary>
        </member>
        <member name="F:Stride.Core.ScalarStyle.DoubleQuoted">
            <summary>
            The double-quoted scalar style.
            </summary>
        </member>
        <member name="F:Stride.Core.ScalarStyle.Literal">
            <summary>
            The literal scalar style.
            </summary>
        </member>
        <member name="F:Stride.Core.ScalarStyle.Folded">
            <summary>
            The folded scalar style.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.ArchiveMode">
            <summary>
            Enumerates the different mode of serialization (either serialization or deserialization).
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.ArchiveMode.Serialize">
            <summary>
            The serializer is in serialize mode.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.ArchiveMode.Deserialize">
            <summary>
            The serializer is in deserialize mode.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.AssemblySerializerFactoryAttribute">
            <summary>
            Used internally by assembly processor when generating serializer factories.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.AssemblySerializerFactoryAttribute.Type">
            <summary>
            The type of the serializer factory.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.BinarySerializationReader">
            <summary>
            Implements <see cref="T:Stride.Core.Serialization.SerializationStream"/> as a binary reader.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Serialization.BinarySerializationReader"/> class.
            </summary>
            <param name="inputStream">The input stream to read from.</param>
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.Boolean@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.Single@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.Double@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.Int16@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.Int32@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.Int64@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.UInt16@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.UInt32@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.UInt64@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.String@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.Char@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.Byte@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.SByte@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Serialize(System.Span{System.Byte})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationReader.Flush">
            <inheritdoc />
        </member>
        <member name="T:Stride.Core.Serialization.BinarySerializationWriter">
            <summary>
            Implements <see cref="T:Stride.Core.Serialization.SerializationStream"/> as a binary writer.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Serialization.BinarySerializationWriter"/> class.
            </summary>
            <param name="outputStream">The output stream.</param>
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.Boolean@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.Single@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.Double@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.Int16@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.Int32@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.Int64@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.UInt16@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.UInt32@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.UInt64@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.String@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.Char@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.Byte@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.SByte@)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Serialize(System.Span{System.Byte})">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.BinarySerializationWriter.Flush">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.Serialization.HashSerializationWriter.Serialize(System.String@)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.ClassDataSerializer`1.PreSerialize(`0@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.DataSerializer">
            <summary>
            Describes how to serialize and deserialize an object without knowing its type.
            Used as a common base class for all data serializers.
            </summary>
            <summary>
            Describes how to serialize and deserialize an object without knowing its type.
            Used as a common base class for all data serializers.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.DataSerializer.SerializationTypeId">
            <summary>
            The type id of <see cref="P:Stride.Core.Serialization.DataSerializer.SerializationType"/>. Used internally to avoid dealing with strings.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.DataSerializer.Initialized">
            <summary>
            Used internally to know if the serializer has been initialized.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.DataSerializer.SerializationType">
            <summary>
            The type of the object that can be serialized or deserialized.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.DataSerializer.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <summary>
            Initializes the specified serializer.
            </summary>
            <remarks>This method should be thread-safe and OK to call multiple times.</remarks>
            <param name="serializerSelector">The serializer.</param>
        </member>
        <member name="M:Stride.Core.Serialization.DataSerializer.Serialize(System.Object@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <summary>
            Serializes or deserializes the given object <paramref name="obj"/>.
            </summary>
            <param name="obj">The object to serialize or deserialize.</param>
            <param name="mode">The serialization mode.</param>
            <param name="stream">The stream to serialize or deserialize to.</param>
        </member>
        <member name="M:Stride.Core.Serialization.DataSerializer.PreSerialize(System.Object@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <summary>
            Performs the first step of serialization or deserialization.
            </summary>
            <remarks>
            Typically, it will instantiate the object if [null], and if it's a collection clear it.
            </remarks>
            <param name="obj">The object to process.</param>
            <param name="mode">The serialization mode.</param>
            <param name="stream">The stream to serialize or deserialize to.</param>
        </member>
        <member name="T:Stride.Core.Serialization.DataSerializer`1">
            <summary>
            Describes how to serialize and deserialize an object of a given type.
            </summary>
            <typeparam name="T">The type of object to serialize or deserialize.</typeparam>
        </member>
        <member name="P:Stride.Core.Serialization.DataSerializer`1.SerializationType">
            <inheritdoc/>
        </member>
        <member name="P:Stride.Core.Serialization.DataSerializer`1.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.DataSerializer`1.Serialize(System.Object@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.DataSerializer`1.Serialize(`0,Stride.Core.Serialization.SerializationStream)">
            <summary>
            Serializes the given object <paramref name="obj"/>.
            </summary>
            <param name="obj">The object to serialize or deserialize.</param>
            <param name="stream">The stream to serialize or deserialize to.</param>
        </member>
        <member name="M:Stride.Core.Serialization.DataSerializer`1.PreSerialize(System.Object@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.DataSerializer`1.PreSerialize(`0@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <summary>
            Performs the first step of serialization or deserialization.
            </summary>
            <remarks>
            Typically, it will instantiate the object if [null], and if it's a collection clear it.
            </remarks>
            <param name="obj">The object to process.</param>
            <param name="mode">The serialization mode.</param>
            <param name="stream">The stream to serialize or deserialize to.</param>
        </member>
        <member name="M:Stride.Core.Serialization.DataSerializer`1.Serialize(`0@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <summary>
            Serializes or deserializes the given object <paramref name="obj"/>.
            </summary>
            <param name="obj">The object to serialize or deserialize.</param>
            <param name="mode">The serialization mode.</param>
            <param name="stream">The stream to serialize or deserialize to.</param>
        </member>
        <member name="T:Stride.Core.Serialization.DataSerializerAttribute">
            <summary>
            Use this attribute on a class to specify its data serializer type.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.DataSerializerAttribute.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Serialization.DataSerializerAttribute"/> class.
            </summary>
            <param name="dataSerializerType">Type of the data serializer.</param>
        </member>
        <member name="F:Stride.Core.Serialization.DataSerializerAttribute.DataSerializerType">
            <summary>
            Gets the type of the data serializer.
            </summary>
            <value>
            The type of the data serializer.
            </value>
        </member>
        <member name="T:Stride.Core.Serialization.AssemblySerializerEntry">
            <summary>
            An entry to a serialized object.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.AssemblySerializerEntry.Id">
            <summary>
            The id of the object.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.AssemblySerializerEntry.ObjectType">
            <summary>
            The type of the object.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.AssemblySerializerEntry.SerializerType">
            <summary>
            The type of the serialized object.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.AssemblySerializerEntry.#ctor(Stride.Core.Storage.ObjectId,System.Type,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Serialization.AssemblySerializerEntry"/> struct.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.AssemblySerializers.DataContractAlias.IsAlias">
            <summary>
            True if generated from a <see cref="T:Stride.Core.DataAliasAttribute"/>, false if generated from a <see cref="T:Stride.Core.DataContractAttribute"/>.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.DataSerializerGenericMode">
            <summary>
            Defines what generic parameters to pass to the serializer.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.DataSerializerGenericMode.Type">
            <summary>
            The type of the serialized type will be passed as a generic arguments of the serializer.
            Example: serializer of A becomes instantiated as Serializer{A}.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.DataSerializerGenericMode.GenericArguments">
            <summary>
            The generic arguments of the serialized type will be passed as a generic arguments of the serializer.
            Example: serializer of A{T1, T2} becomes instantiated as Serializer{T1, T2}.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.DataSerializerGenericMode.TypeAndGenericArguments">
            <summary>
            Combinations of both <see cref="F:Stride.Core.Serialization.DataSerializerGenericMode.Type"/> and <see cref="F:Stride.Core.Serialization.DataSerializerGenericMode.GenericArguments"/>.
            Example: serializer of A{T1, T2} becomes instantiated as Serializer{A, T1, T2}.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.DataSerializerGlobalAttribute">
            <summary>
            Declares a serializer like <see cref="T:Stride.Core.Serialization.DataSerializerAttribute"/> or <see cref="T:Stride.Core.DataContractAttribute"/>, but externally.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.DataSerializerGlobalAttribute.#ctor(System.Type,System.Type,Stride.Core.Serialization.DataSerializerGenericMode,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Serialization.DataSerializerGlobalAttribute"/> class,
            either by its serializer type (it will act like <see cref="T:Stride.Core.Serialization.DataSerializerAttribute"/> and guess data type from the generic type of <see cref="T:Stride.Core.Serialization.DataSerializer`1"/>) or the data type (it will act just like if <see cref="T:Stride.Core.DataContractAttribute"/> was set on the data type).
            </summary>
            <param name="serializerType">The serializer type. Can be null if <paramref name="dataType"/> if set.</param>
            <param name="dataType">The data type. Can be null if <paramref name="serializerType"/> is set.</param>
            <param name="mode">Defines how generic type are added to <paramref name="serializerType"/>.</param>
            <param name="inherited">Similar to <see cref="P:Stride.Core.DataContractAttribute.Inherited"/></param>
            <param name="complexSerializer">True if it should use the auto-generated serializer.</param>
        </member>
        <member name="T:Stride.Core.Serialization.GenericSerializerFactory">
            <summary>
            Simple serializer that will matches specific type using base type and create a data serializer with matched type.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.GenericSerializerFactory.#ctor(System.Type,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Serialization.GenericSerializerFactory"/> class.
            </summary>
            <param name="baseType">The type to match.</param>
            <param name="serializerGenericType">The generic type that will be used to instantiate serializers.</param>
        </member>
        <member name="T:Stride.Core.Serialization.IDataSerializerGenericInstantiation">
            <summary>
            Allows enumeration of required data serializers.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.IDataSerializerGenericInstantiation.EnumerateGenericInstantiations(Stride.Core.Serialization.SerializerSelector,System.Collections.Generic.IList{System.Type})">
            <summary>
            Enumerates required <see cref="T:Stride.Core.Serialization.DataSerializer"/> required by this instance of DataSerializer.
            </summary>
            <remarks>
            The code won't be executed, it will only be scanned for typeof() operands by the assembly processor.
            Null is authorized in enumeration (for now).
            </remarks>
            <param name="serializerSelector"></param>
            <param name="genericInstantiations"></param>
            <returns></returns>
        </member>
        <member name="T:Stride.Core.Serialization.MemberSerializer.ObjectReferenceEqualityComparer">
            <summary>
            Implements an equality comparer based on object reference instead of <see cref="M:System.Object.Equals(System.Object)"/>.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.MemberSerializer`1">
            <summary>
            Helper for serializing members of a class.
            </summary>
            <typeparam name="T">The type of member to serialize.</typeparam>
        </member>
        <member name="T:Stride.Core.Serialization.NamespaceDoc">
            <summary>
            The <see cref="N:Stride.Core.Serialization"/> namespace contains types that provides a low-level serialization customizable engine.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.NullSerializer`1">
            <summary>
            A null serializer that can be used to add dummy serialization attributes.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.SerializationStream">
            <summary>
            Base class for implementation of <see cref="T:Stride.Core.Serialization.SerializationStream"/>.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.SerializationStream.UnderlyingStream">
            <summary>
            The <see cref="T:System.IO.Stream"/> from which this serializer reads or to which it writes.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Serialization.SerializationStream"/> class.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.SerializationStream.Context">
            <summary>
            The serializer context.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Boolean@)">
            <summary>
            Serializes the specified boolean value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Single@)">
            <summary>
            Serializes the specified float value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Double@)">
            <summary>
            Serializes the specified double value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Int16@)">
            <summary>
            Serializes the specified short value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Int32@)">
            <summary>
            Serializes the specified integer value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Int64@)">
            <summary>
            Serializes the specified long value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.UInt16@)">
            <summary>
            Serializes the specified ushort value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.UInt32@)">
            <summary>
            Serializes the specified unsigned integer value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.UInt64@)">
            <summary>
            Serializes the specified unsigned long value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.String@)">
            <summary>
            Serializes the specified string value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Char@)">
            <summary>
            Serializes the specified char value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Byte@)">
            <summary>
            Serializes the specified byte value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.SByte@)">
            <summary>
            Serializes the specified signed byte value.
            </summary>
            <param name="value">The value to serialize</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Serializes the specified byte array.
            </summary>
            <param name="values">The buffer to serialize.</param>
            <param name="offset">The starting offset in the buffer to begin serializing.</param>
            <param name="count">The size, in bytes, to serialize.</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Span{System.Byte})">
            <summary>
            Serializes the specified memory area.
            </summary>
            <param name="memory">The memory area to serialize.</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializationStream.Flush">
            <summary>
            Flushes all recent writes (for better batching).
            Please note that if only Serialize has been used (no PopTag()),
            Flush() should be called manually.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.SerializeClassFlags">
            <summary>
            Specifies flags used when serializing reference types.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.SerializeClassFlags.None">
            <summary>
            Default value.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.SerializeClassFlags.IsNull">
            <summary>
            Specifies that the object is null.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.SerializeClassFlags.IsTypeInfo">
            <summary>
            Specifies that additional type info is necessary and is stored in the stream.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.SerializeClassFlags.IsReference">
            <summary>
            Specifies that the object has already been serialized previously in the stream, and is only stored as an index.
            </summary>
        </member>
        <member name="F:Stride.Core.Serialization.SerializeClassFlags.IsExternalIdentifiable">
            <summary>
            Specifies that the object is an <see cref="T:Stride.Core.IIdentifiable"/> instance has not been serialized, and only its <see cref="P:Stride.Core.IIdentifiable.Id"/> has been stored.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.SerializerContext.SerializerSelector">
            <summary>
            Gets or sets the serializer.
            </summary>
            <value>
            The serializer.
            </value>
        </member>
        <member name="T:Stride.Core.Serialization.SerializerExtensions">
            <summary>
            Various useful extension methods on top of SerializationStream for serialization/deserialization of common types.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.SerializeExtended``1(Stride.Core.Serialization.SerializationStream,``0,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.DataSerializer{``0})">
            <summary>
            Serializes the specified object.
            </summary>
            <typeparam name="T">The object type to serialize.</typeparam>
            <param name="stream">The stream to serialize to.</param>
            <param name="obj">The object to serialize.</param>
            <param name="mode">The serialization mode.</param>
            <param name="dataSerializer">The data serializer (can be null).</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.SerializeExtended``1(Stride.Core.Serialization.SerializationStream,``0@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.DataSerializer{``0})">
            <summary>
            Serializes the specified object.
            </summary>
            <typeparam name="T">The object type to serialize.</typeparam>
            <param name="stream">The stream to serialize to.</param>
            <param name="obj">The object to serialize.</param>
            <param name="mode">The serialization mode.</param>
            <param name="dataSerializer">The data serializer (can be null).</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Read``1(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads the specified object from the stream.
            </summary>
            <typeparam name="T">The type of the object to read.</typeparam>
            <param name="stream">The stream to read the object from.</param>
            <returns>The object that has just been read.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write``1(Stride.Core.Serialization.SerializationStream,``0)">
            <summary>
            Writes the specified object to the stream.
            </summary>
            <typeparam name="T">The type of the object to write.</typeparam>
            <param name="stream">The stream to write the object to.</param>
            <param name="obj">The object to write.</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Serialize``1(Stride.Core.Serialization.SerializationStream,``0@,Stride.Core.Serialization.ArchiveMode)">
            <summary>
            Serializes the specified object.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="stream">The stream to serialize to.</param>
            <param name="obj">The object to serialize.</param>
            <param name="mode">The serialization mode.</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Serialize(Stride.Core.Serialization.SerializationStream,System.IntPtr,System.Int32)">
            <summary>Serializes or deserializes the memory using <see cref="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Span{System.Byte})"/>.</summary>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Serialize(Stride.Core.Serialization.SerializationStream,System.Void*,System.Int32)">
            <summary>Serializes or deserializes the memory using <see cref="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Span{System.Byte})"/>.</summary>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Serialize``1(Stride.Core.Serialization.SerializationStream,``0@)">
            <summary>Serializes or deserializes the value using <see cref="M:Stride.Core.Serialization.SerializationStream.Serialize(System.Span{System.Byte})"/>.</summary>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadBoolean(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a boolean value from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A boolean value read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadSingle(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a 4-byte floating point value from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A 4-byte floating point value read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadDouble(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a 8-byte floating point value from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A 8-byte floating point value read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadInt16(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a 2-byte signed integer from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A 2-byte signed integer read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadInt32(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a 4-byte signed integer from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A 4-byte signed integer read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadInt64(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a 8-byte signed integer from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A 8-byte signed integer read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadUInt16(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a 2-byte unsigned integer from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A 2-byte unsigned integer read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadUInt32(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a 4-byte unsigned integer from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A 4-byte unsigned integer read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadUInt64(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a 8-byte unsigned integer from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A 8-byte unsigned integer read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadString(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a string.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A string read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadChar(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a unicode character from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A unicode character read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadByte(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a unsigned byte integer from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>An unsigned byte read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadSByte(Stride.Core.Serialization.SerializationStream)">
            <summary>
            Reads a signed byte from the stream.
            </summary>
            <param name="stream">The stream.</param>
            <returns>A signed byte read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.ReadBytes(Stride.Core.Serialization.SerializationStream,System.Int32)">
            <summary>
            Reads the specified number of bytes.
            </summary>
            <param name="stream">The stream.</param>
            <param name="count"></param>
            <returns>A byte array containing the data read from the stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.Boolean)">
            <summary>
            Writes a boolean value to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The boolean value to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.Single)">
            <summary>
            Writes a 4-byte floating point value to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The 4-byte floating point value to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.Double)">
            <summary>
            Writes a 8-byte floating point value to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The 8-byte floating point value to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.Int16)">
            <summary>
            Writes a 2-byte signed integer to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The 2-byte signed integer to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.Int32)">
            <summary>
            Writes a 4-byte signed integer to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The 4-byte signed integer to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.Int64)">
            <summary>
            Writes a 8-byte signed integer to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The 8-byte signed integer to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.UInt16)">
            <summary>
            Writes a 2-byte unsigned integer to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The 2-byte unsigned integer to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.UInt32)">
            <summary>
            Writes a 4-byte unsigned integer to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The 4-byte unsigned integer to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.UInt64)">
            <summary>
            Writes a 8-byte unsigned integer to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The 8-byte unsigned integer to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.String)">
            <summary>
            Writes a string to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The string to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.Char)">
            <summary>
            Writes a unicode character to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The unicode character to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.Byte)">
            <summary>
            Writes an unsigned byte to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The unsigned byte to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.SByte)">
            <summary>
            Writes a signed byte to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="value">The signed byte to write.</param>
            <returns>The stream.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerExtensions.Write(Stride.Core.Serialization.SerializationStream,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a byte array region to the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="values">The byte array to write.</param>
            <param name="offset">The starting offset in values to write.</param>
            <param name="count">The number of bytes to write.</param>
            <returns>
            The stream.
            </returns>
        </member>
        <member name="T:Stride.Core.Serialization.SerializerFactory">
            <summary>
            Used as a fallback when <see cref="M:Stride.Core.Serialization.SerializerSelector.GetSerializer(Stride.Core.Storage.ObjectId@)"/> didn't find anything.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.SerializerSelector">
            <summary>
            Serializer context. It holds DataSerializer{T} objects and their factories.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.SerializerSelector.Default">
            <summary>
            Gets the default instance of Serializer.
            </summary>
            <value>
            The default instance.
            </value>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerSelector.#ctor(System.Boolean,System.Boolean,System.String[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Serialization.SerializerSelector"/> class.
            </summary>
            <param name="reuseReferences">if set to <c>true</c> reuse references (allow cycles in the object graph).</param>
            <param name="profiles">The profiles.</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerSelector.HasProfile(System.String)">
            <summary>
            Checks if this instance supports the specified serialization profile.
            </summary>
            <param name="profile">Name of the profile</param>
            <returns><c>true</c> if this instance supports the specified serialization profile</returns>
        </member>
        <member name="P:Stride.Core.Serialization.SerializerSelector.ReuseReferences">
            <summary>
            Gets whether serialization reuses references, where each reference gets assigned an ID and if it is serialized again, same instance will be reused).
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.SerializerSelector.ExternalIdentifiableAsGuid">
            <summary>
            Gets whether <see cref="T:Stride.Core.IIdentifiable"/> instances marked as external will have only their <see cref="T:System.Guid"/> stored.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerSelector.GetSerializer(System.Type)">
            <summary>
            Gets the serializer.
            </summary>
            <param name="type">The type that you want to (de)serialize.</param>
            <returns>The <see cref="T:Stride.Core.Serialization.DataSerializer`1"/> for this type if it exists or can be created, otherwise null.</returns>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerSelector.EnsureInitialized(Stride.Core.Serialization.DataSerializer)">
            <summary>
            Internal function, for use by <see cref="T:Stride.Core.Serialization.SerializerFactory"/>.
            </summary>
            <param name="dataSerializer">The data serializer to initialize if not done yet</param>
        </member>
        <member name="M:Stride.Core.Serialization.SerializerSelector.GetSerializer``1">
            <summary>
            Gets the serializer.
            </summary>
            <typeparam name="T">The type that you want to (de)serialize.</typeparam>
            <returns>The <see cref="T:Stride.Core.Serialization.DataSerializer`1"/> for this type if it exists or can be created, otherwise null.</returns>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.ByteArraySerializer">
            <summary>
            Implements <see cref="T:Stride.Core.Serialization.DataSerializer`1"/> for a byte array.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ByteArraySerializer.PreSerialize(System.Byte[]@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ByteArraySerializer.Serialize(System.Byte[]@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.ListSerializer`1">
            <summary>
            Data serializer for List{T}.
            </summary>
            <typeparam name="T">Generics type of List{T}.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListSerializer`1.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListSerializer`1.PreSerialize(System.Collections.Generic.List{`0}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListSerializer`1.Serialize(System.Collections.Generic.List{`0}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListSerializer`1.EnumerateGenericInstantiations(Stride.Core.Serialization.SerializerSelector,System.Collections.Generic.IList{System.Type})">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.ListAllSerializer`2">
            <summary>
            Data serializer for IList{T}.
            </summary>
            <typeparam name="TList">Type of IList{T}.</typeparam>
            <typeparam name="T">Generics type of IList{T}.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListAllSerializer`2.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListAllSerializer`2.PreSerialize(`0@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListAllSerializer`2.Serialize(`0@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListAllSerializer`2.EnumerateGenericInstantiations(Stride.Core.Serialization.SerializerSelector,System.Collections.Generic.IList{System.Type})">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.SortedListSerializer`2">
            <summary>
            Data serializer for SortedList{TKey, TValue}.
            </summary>
            <typeparam name="TKey">The type of the key in SortedList{TKey, TValue}.</typeparam>
            <typeparam name="TValue">The type of the value in SortedList{TKey, TValue}.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.SortedListSerializer`2.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.SortedListSerializer`2.PreSerialize(Stride.Core.Collections.SortedList{`0,`1}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.SortedListSerializer`2.Serialize(Stride.Core.Collections.SortedList{`0,`1}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.SortedListSerializer`2.EnumerateGenericInstantiations(Stride.Core.Serialization.SerializerSelector,System.Collections.Generic.IList{System.Type})">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.ListInterfaceSerializer`1">
            <summary>
            Data serializer for IList{T}.
            </summary>
            <typeparam name="T">Generics type of IList{T}.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListInterfaceSerializer`1.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListInterfaceSerializer`1.PreSerialize(System.Collections.Generic.IList{`0}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListInterfaceSerializer`1.Serialize(System.Collections.Generic.IList{`0}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ListInterfaceSerializer`1.EnumerateGenericInstantiations(Stride.Core.Serialization.SerializerSelector,System.Collections.Generic.IList{System.Type})">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.ArraySerializer`1">
            <summary>
            Data serializer for T[].
            </summary>
            <typeparam name="T">Generics type of T[].</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ArraySerializer`1.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ArraySerializer`1.PreSerialize(`0[]@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ArraySerializer`1.Serialize(`0[]@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ArraySerializer`1.EnumerateGenericInstantiations(Stride.Core.Serialization.SerializerSelector,System.Collections.Generic.IList{System.Type})">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.BlittableArraySerializer`1">
            <summary>
            Data serializer for blittable T[].
            </summary>
            <typeparam name="T">Generics type of T[].</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.BlittableArraySerializer`1.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.BlittableArraySerializer`1.Serialize(`0[]@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.KeyValuePairSerializer`2">
            <summary>
            Data serializer for KeyValuePair{TKey, TValue}.
            </summary>
            <typeparam name="TKey">The type of the key in KeyValuePair{TKey, TValue}.</typeparam>
            <typeparam name="TValue">The type of the value in KeyValuePair{TKey, TValue}.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.KeyValuePairSerializer`2.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.KeyValuePairSerializer`2.Serialize(System.Collections.Generic.KeyValuePair{`0,`1}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.KeyValuePairSerializer`2.EnumerateGenericInstantiations(Stride.Core.Serialization.SerializerSelector,System.Collections.Generic.IList{System.Type})">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.DictionarySerializer`2">
            <summary>
            Data serializer for Dictionary{TKey, TValue}.
            </summary>
            <typeparam name="TKey">The type of the key in Dictionary{TKey, TValue}.</typeparam>
            <typeparam name="TValue">The type of the value in Dictionary{TKey, TValue}.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionarySerializer`2.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionarySerializer`2.PreSerialize(System.Collections.Generic.Dictionary{`0,`1}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionarySerializer`2.Serialize(System.Collections.Generic.Dictionary{`0,`1}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionarySerializer`2.EnumerateGenericInstantiations(Stride.Core.Serialization.SerializerSelector,System.Collections.Generic.IList{System.Type})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionaryAllSerializer`3.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionaryAllSerializer`3.PreSerialize(`0@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionaryAllSerializer`3.Serialize(`0@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionaryAllSerializer`3.EnumerateGenericInstantiations(Stride.Core.Serialization.SerializerSelector,System.Collections.Generic.IList{System.Type})">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.DictionaryInterfaceSerializer`2">
            <summary>
            Data serializer for IDictionary{TKey, TValue}.
            </summary>
            <typeparam name="TKey">The type of the key in IDictionary{TKey, TValue}.</typeparam>
            <typeparam name="TValue">The type of the value in IDictionary{TKey, TValue}.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionaryInterfaceSerializer`2.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionaryInterfaceSerializer`2.PreSerialize(System.Collections.Generic.IDictionary{`0,`1}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionaryInterfaceSerializer`2.Serialize(System.Collections.Generic.IDictionary{`0,`1}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DictionaryInterfaceSerializer`2.EnumerateGenericInstantiations(Stride.Core.Serialization.SerializerSelector,System.Collections.Generic.IList{System.Type})">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.HashSetSerializer`1">
            <summary>
            Data serializer for HashSet{T}.
            </summary>
            <typeparam name="T">Generics type of HashSet{T}.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.HashSetSerializer`1.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.HashSetSerializer`1.PreSerialize(System.Collections.Generic.HashSet{`0}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.HashSetSerializer`1.Serialize(System.Collections.Generic.HashSet{`0}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.HashSetSerializer`1.EnumerateGenericInstantiations(Stride.Core.Serialization.SerializerSelector,System.Collections.Generic.IList{System.Type})">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.KeyedSortedListSerializer`3.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.KeyedSortedListSerializer`3.Serialize(`0@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.NamespaceDoc">
            <summary>
            The <see cref="N:Stride.Core.Serialization.Serializers"/> provides many <see cref="T:Stride.Core.Serialization.DataSerializer`1"/> implementations for common .NET types.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.NullableSerializer`1">
            <summary>
            Data serializer for Nullable{T}.
            </summary>
            <typeparam name="T">The generic type in Nullable{T}.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.NullableSerializer`1.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.NullableSerializer`1.Serialize(System.Nullable{`0}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.UriSerializer">
            <summary>
            Data serializer for string.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.UriSerializer.Serialize(System.Uri@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.StringSerializer">
            <summary>
            Data serializer for string.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.StringSerializer.Serialize(System.String@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.BoolSerializer">
            <summary>
            Data serializer for bool.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.BoolSerializer.Serialize(System.Boolean@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.SingleSerializer">
            <summary>
            Data serializer for float.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.Serializers.SingleSerializer.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.SingleSerializer.Serialize(System.Single@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.DoubleSerializer">
            <summary>
            Data serializer for double.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.Serializers.DoubleSerializer.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.DoubleSerializer.Serialize(System.Double@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.CharSerializer">
            <summary>
            Data serializer for char.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.CharSerializer.Serialize(System.Char@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.ByteSerializer">
            <summary>
            Data serializer for byte.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.Serializers.ByteSerializer.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ByteSerializer.Serialize(System.Byte@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.SByteSerializer">
            <summary>
            Data serializer for sbyte.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.Serializers.SByteSerializer.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.SByteSerializer.Serialize(System.SByte@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.Int16Serializer">
            <summary>
            Data serializer for short.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.Serializers.Int16Serializer.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.Int16Serializer.Serialize(System.Int16@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.UInt16Serializer">
            <summary>
            Data serializer for ushort.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.Serializers.UInt16Serializer.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.UInt16Serializer.Serialize(System.UInt16@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.Int32Serializer">
            <summary>
            Data serializer for int.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.Serializers.Int32Serializer.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.Int32Serializer.Serialize(System.Int32@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.UInt32Serializer">
            <summary>
            Data serializer for uint.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.Serializers.UInt32Serializer.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.UInt32Serializer.Serialize(System.UInt32@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.Int64Serializer">
            <summary>
            Data serializer for long.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.Serializers.Int64Serializer.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.Int64Serializer.Serialize(System.Int64@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.UInt64Serializer">
            <summary>
            Data serializer for ulong.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.Serializers.UInt64Serializer.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.UInt64Serializer.Serialize(System.UInt64@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.EnumSerializer">
            <summary>
            Data serializer for Enum.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.EnumSerializer.Serialize(System.Enum@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.EnumSerializer`1">
            <summary>
            Data serializer for typed enum.
            </summary>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.EnumSerializer`1.Serialize(`0@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.GuidSerializer">
            <summary>
            Data serializer for Guid.
            </summary>
        </member>
        <member name="P:Stride.Core.Serialization.Serializers.GuidSerializer.IsBlittable">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.GuidSerializer.Serialize(System.Guid@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc/>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.TimeSpanSerializer">
            <summary>
            Data serializer for TimeSpan.
            </summary>
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.TupleSerializer`1">
            <summary>
            Serializer for a 1-tuple.
            </summary>
            <typeparam name="T1">The type of the tuple's component 1.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.TupleSerializer`1.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.TupleSerializer`1.Serialize(System.Tuple{`0}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc />
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.ValueTupleSerializer`1">
            <summary>
            Serializer for a 1-value tuple.
            </summary>
            <typeparam name="T1">The type of the tuple's component 1.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ValueTupleSerializer`1.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ValueTupleSerializer`1.Serialize(System.ValueTuple{`0}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc />
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.TupleSerializer`2">
            <summary>
            Serializer for a 2-tuple.
            </summary>
            <typeparam name="T1">The type of the tuple's component 1.</typeparam>
            <typeparam name="T2">The type of the tuple's component 2.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.TupleSerializer`2.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.TupleSerializer`2.Serialize(System.Tuple{`0,`1}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc />
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.ValueTupleSerializer`2">
            <summary>
            Serializer for a 2-value tuple.
            </summary>
            <typeparam name="T1">The type of the tuple's component 1.</typeparam>
            <typeparam name="T2">The type of the tuple's component 2.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ValueTupleSerializer`2.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ValueTupleSerializer`2.Serialize(System.ValueTuple{`0,`1}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc />
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.TupleSerializer`3">
            <summary>
            Serializer for a 3-tuple.
            </summary>
            <typeparam name="T1">The type of the tuple's component 1.</typeparam>
            <typeparam name="T2">The type of the tuple's component 2.</typeparam>
            <typeparam name="T3">The type of the tuple's component 3.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.TupleSerializer`3.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.TupleSerializer`3.Serialize(System.Tuple{`0,`1,`2}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc />
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.ValueTupleSerializer`3">
            <summary>
            Serializer for a 3-value tuple.
            </summary>
            <typeparam name="T1">The type of the tuple's component 1.</typeparam>
            <typeparam name="T2">The type of the tuple's component 2.</typeparam>
            <typeparam name="T3">The type of the tuple's component 3.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ValueTupleSerializer`3.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ValueTupleSerializer`3.Serialize(System.ValueTuple{`0,`1,`2}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc />
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.TupleSerializer`4">
            <summary>
            Serializer for a 4-tuple.
            </summary>
            <typeparam name="T1">The type of the tuple's component 1.</typeparam>
            <typeparam name="T2">The type of the tuple's component 2.</typeparam>
            <typeparam name="T3">The type of the tuple's component 3.</typeparam>
            <typeparam name="T4">The type of the tuple's component 4.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.TupleSerializer`4.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.TupleSerializer`4.Serialize(System.Tuple{`0,`1,`2,`3}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc />
        </member>
        <member name="T:Stride.Core.Serialization.Serializers.ValueTupleSerializer`4">
            <summary>
            Serializer for a 4-value tuple.
            </summary>
            <typeparam name="T1">The type of the tuple's component 1.</typeparam>
            <typeparam name="T2">The type of the tuple's component 2.</typeparam>
            <typeparam name="T3">The type of the tuple's component 3.</typeparam>
            <typeparam name="T4">The type of the tuple's component 4.</typeparam>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ValueTupleSerializer`4.Initialize(Stride.Core.Serialization.SerializerSelector)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Serialization.Serializers.ValueTupleSerializer`4.Serialize(System.ValueTuple{`0,`1,`2,`3}@,Stride.Core.Serialization.ArchiveMode,Stride.Core.Serialization.SerializationStream)">
            <inheritdoc />
        </member>
        <member name="T:Stride.Core.ServiceRegistry">
            <summary>
            Provides a base implementation for managing services within an application. Implements the <see cref="T:Stride.Core.IServiceRegistry"/> interface.
            </summary>
            <remarks>
            This class uses a dictionary to store services by their types. It is thread-safe.
            </remarks>
        </member>
        <member name="F:Stride.Core.ServiceRegistry.ServiceRegistryKey">
            <summary>
            The key used to identify the <see cref="T:Stride.Core.ServiceRegistry"/> instance.
            </summary>
        </member>
        <member name="E:Stride.Core.ServiceRegistry.ServiceAdded">
            <inheritdoc />
        </member>
        <member name="E:Stride.Core.ServiceRegistry.ServiceRemoved">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.ServiceRegistry.GetService``1">
            <inheritdoc />
        </member>
        <member name="M:Stride.Core.ServiceRegistry.AddService``1(``0)">
            <inheritdoc />
            <remarks>
            This implementation triggers the <see cref="E:Stride.Core.ServiceRegistry.ServiceAdded"/> event after a service is successfully added.
            </remarks>
        </member>
        <member name="M:Stride.Core.ServiceRegistry.RemoveService``1">
            <inheritdoc />
            <remarks>
            This implementation triggers the <see cref="E:Stride.Core.ServiceRegistry.ServiceRemoved"/> event after a service is successfully removed.
            If the service type is not found, this method does nothing.
            </remarks>
        </member>
        <member name="M:Stride.Core.ServiceRegistryExtensions.GetSafeServiceAs``1(Stride.Core.IServiceRegistry)">
            <summary>
            Gets a service instance from a specified interface contract.
            </summary>
            <typeparam name="T">Type of the interface contract of the service</typeparam>
            <param name="registry">The registry.</param>
            <exception cref="T:Stride.Core.ServiceNotFoundException">If the service was not found</exception>
            <returns>An instance of the requested service registered to this registry.</returns>
        </member>
        <member name="M:Stride.Core.ServiceRegistryExtensions.GetServiceLate``1(Stride.Core.IServiceRegistry,System.Action{``0})">
            <summary>
            Gets a service instance from a specified interface contract.
            </summary>
            <typeparam name="T">Type of the interface contract of the service</typeparam>
            <param name="registry">The registry.</param>
            <param name="serviceReady">The service ready.</param>
            <returns>An instance of the requested service registered to this registry.</returns>
            <exception cref="T:Stride.Core.ServiceNotFoundException">If the service was not found</exception>
        </member>
        <member name="T:Stride.Core.Settings.AppSettings">
            <summary>
            Collection of runtime loaded application settings. See also <seealso cref="T:Stride.Core.Settings.AppSettingsManager"/>.
            </summary>
        </member>
        <member name="P:Stride.Core.Settings.AppSettings.Settings">
            <summary>
            Application specific settings.
            </summary>
        </member>
        <member name="M:Stride.Core.Settings.AppSettings.#ctor">
            <summary>
            Default constructor, used for deserialization.
            </summary>
        </member>
        <member name="M:Stride.Core.Settings.AppSettings.#ctor(System.Collections.Generic.IEnumerable{System.Object})">
            <summary>
            Creates a new <see cref="T:Stride.Core.Settings.AppSettings"/> instance with a settings collection.
            </summary>
            <param name="settings">Settings collection.</param>
        </member>
        <member name="M:Stride.Core.Settings.AppSettings.GetSettings``1">
            <summary>
            Finds a settings object of the specified type in the settings collection.
            </summary>
            <returns>Found object, or null if not found.</returns>
        </member>
        <member name="M:Stride.Core.Settings.AppSettings.GetEnumerator">
            <summary>
            Inline Enumerator used by foreach.
            </summary>
            <returns>Enumerator of the underlying settings collection.</returns>
        </member>
        <member name="T:Stride.Core.Settings.AppSettingsManager">
            <summary>
            Manages the loading of application settings with <see cref="T:Stride.Core.Settings.IAppSettingsProvider"/>.
            </summary>
        </member>
        <member name="P:Stride.Core.Settings.AppSettingsManager.Settings">
            <summary>
            Gets <see cref="T:Stride.Core.Settings.AppSettings"/> instance for the application.
            </summary>
            <remarks>
            Loaded with an <see cref="T:Stride.Core.Settings.IAppSettingsProvider"/>. If no provider implementation is found, returns empty <see cref="T:Stride.Core.Settings.AppSettings"/> instance.
            </remarks>
        </member>
        <member name="P:Stride.Core.Settings.AppSettingsManager.SettingsProvider">
            <summary>
            Gets or sets an <see cref="T:Stride.Core.Settings.IAppSettingsProvider"/> for the application.
            </summary>
            <remarks>
            If provider is not set, getter of this property will attempt to find an implementation
            among the registered assemblies and cache it.
            </remarks>
        </member>
        <member name="M:Stride.Core.Settings.AppSettingsManager.ReloadSettings">
            <summary>
            Clears cached settings value and calls <see cref="M:Stride.Core.Settings.IAppSettingsProvider.LoadAppSettings"/> on the <see cref="P:Stride.Core.Settings.AppSettingsManager.SettingsProvider"/>.
            </summary>
        </member>
        <member name="T:Stride.Core.Settings.IAppSettingsProvider">
            <summary>
            A custom loader of the application settings. Implementation is required to have a parameterless constructor.
            </summary>
            <note>
            We don't want a dependency on complex parsing libraries in Stride.Core,
            so the reading of the AppSettings file is left to the implementation of this interface.
            </note>
        </member>
        <member name="M:Stride.Core.Settings.IAppSettingsProvider.LoadAppSettings">
            <summary>
            Loads <see cref="T:Stride.Core.Settings.AppSettings"/> for the application.
            </summary>
        </member>
        <member name="T:Stride.Core.Storage.ObjectId">
            <summary>
            A hash to uniquely identify data.
            </summary>
            <summary>
            A hash to uniquely identify data.
            </summary>
            <summary>
            A hash to uniquely identify data.
            </summary>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.#ctor(System.Byte[])">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Storage.ObjectId"/> struct.
            </summary>
            <param name="hash">The hash.</param>
            <exception cref="T:System.ArgumentNullException">hash</exception>
            <exception cref="T:System.InvalidOperationException">ObjectId value doesn't match expected size.</exception>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.op_Explicit(Stride.Core.Storage.ObjectId)~System.Byte[]">
            <summary>
            Performs an explicit conversion from <see cref="T:Stride.Core.Storage.ObjectId"/> to <see cref="T:System.Byte"/>[].
            </summary>
            <param name="objectId">The object id.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.op_Equality(Stride.Core.Storage.ObjectId,Stride.Core.Storage.ObjectId)">
            <summary>
            Implements the ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.op_Inequality(Stride.Core.Storage.ObjectId,Stride.Core.Storage.ObjectId)">
            <summary>
            Implements the !=.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.TryParse(System.String,Stride.Core.Storage.ObjectId@)">
            <summary>
            Tries to parse an <see cref="T:Stride.Core.Storage.ObjectId"/> from a string.
            </summary>
            <param name="input">The input hexa string.</param>
            <param name="result">The result ObjectId.</param>
            <returns><c>true</c> if parsing was successfull, <c>false</c> otherwise</returns>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.Equals(Stride.Core.Storage.ObjectId)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.CompareTo(Stride.Core.Storage.ObjectId)">
            <inheritdoc/>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.ToGuid">
            <summary>
            Gets a <see cref="T:System.Guid"/> from this object identifier.
            </summary>
            <returns>Guid.</returns>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.New">
            <summary>
            News this instance.
            </summary>
            <returns>ObjectId.</returns>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.FromBytes(System.Byte[])">
            <summary>
            Computes a hash from a byte buffer.
            </summary>
            <param name="buffer">The byte buffer.</param>
            <returns>The hash of the object.</returns>
            <exception cref="T:System.ArgumentNullException">buffer</exception>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.FromBytes(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Computes a hash from a byte buffer.
            </summary>
            <param name="buffer">The byte buffer.</param>
            <param name="offset">The offset into the buffer.</param>
            <param name="count">The number of bytes to read from the buffer starting at offset position.</param>
            <returns>The hash of the object.</returns>
            <exception cref="T:System.ArgumentNullException">buffer</exception>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.FromObject``1(``0)">
            <summary>
            Computes a hash from an object using <see cref="T:Stride.Core.Serialization.BinarySerializationWriter"/>.
            </summary>
            <param name="obj">The object.</param>
            <returns>The hash of the object.</returns>
        </member>
        <member name="M:Stride.Core.Storage.ObjectId.FromObject``1(``0,System.Byte[]@)">
            <summary>
            Computes a hash from an object using <see cref="T:Stride.Core.Serialization.BinarySerializationWriter" />.
            </summary>
            <typeparam name="T">The type of the object to serialize</typeparam>
            <param name="obj">The object.</param>
            <param name="buffer">The buffer containing the serialized object.</param>
            <returns>The hash of the object.</returns>
        </member>
        <member name="T:Stride.Core.Storage.ObjectIdBuilder">
            <summary>
            A builder for <see cref="T:Stride.Core.Storage.ObjectId"/> using Murmurshash3 128 bits
            </summary>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdBuilder.ComputeHash">
            <summary>
            Gets the current calculated hash.
            </summary>
            <value>The current hash.</value>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdBuilder.ComputeHash(Stride.Core.Storage.ObjectId@)">
            <summary>
            Gets the current calculated hash.
            </summary>
            <value>The current hash.</value>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdBuilder.WriteByte(System.Byte)">
            <summary>
            Writes a byte to the builder.
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdBuilder.Write(System.Byte[])">
            <summary>
            Writes a buffer of byte to this builder.
            </summary>
            <param name="buffer">The buffer.</param>
            <exception cref="T:System.ArgumentNullException">buffer</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">buffer</exception>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdBuilder.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a buffer of byte to this builder.
            </summary>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset.</param>
            <param name="count">The count.</param>
            <exception cref="T:System.ArgumentNullException">buffer</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">count;Offset + Count is out of range</exception>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdBuilder.Write``1(``0)">
            <summary>
            Writes the specified buffer to this instance.
            </summary>
            <typeparam name="T">Type must be a struct</typeparam>
            <param name="data">The data.</param>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdBuilder.Write``1(``0[],System.Int32,System.Int32)">
            <summary>
            Writes the specified buffer to this instance.
            </summary>
            <typeparam name="T">Type must be a struct</typeparam>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset.</param>
            <param name="count">The count.</param>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdBuilder.Write``1(System.ReadOnlySpan{``0})">
            <summary>
            Writes the specified buffer to this instance.
            </summary>
            <typeparam name="T">Type must be a struct</typeparam>
            <param name="buffer">The buffer.</param>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdBuilder.Write(System.Byte*,System.Int32)">
            <summary>
            Writes a buffer of byte to this builder.
            </summary>
            <param name="buffer">The buffer.</param>
            <param name="length">The lenght.</param>
            <exception cref="T:System.ArgumentNullException">buffer</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">count;Offset + Count is out of range</exception>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdBuilder.Write(System.ReadOnlySpan{System.Byte})">
            <summary>
            Writes a buffer of byte to this builder.
            </summary>
            <param name="span">The readonly span.</param>
            <exception cref="T:System.ArgumentNullException">buffer</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">count;Offset + Count is out of range</exception>
        </member>
        <member name="T:Stride.Core.Storage.ObjectIdSimpleBuilder">
            <summary>
            An optimized version of <see cref="T:Stride.Core.Storage.ObjectIdBuilder"/> to output a <see cref="T:Stride.Core.Storage.ObjectId"/> expecting data to hash be 32bits integers only. See remarks.
            </summary>
            <remarks>
            This implementation is suited when it can be feeded with 32bits values. The resulting value must be identical to <see cref="T:Stride.Core.Storage.ObjectIdBuilder"/> if
            the length size of the data is a multiple of 16 bytes.
            </remarks>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdSimpleBuilder.ComputeHash">
            <summary>
            Gets the current calculated hash.
            </summary>
            <value>The current hash.</value>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdSimpleBuilder.ComputeHash(Stride.Core.Storage.ObjectId@)">
            <summary>
            Gets the current calculated hash.
            </summary>
            <value>The current hash.</value>
        </member>
        <member name="M:Stride.Core.Storage.ObjectIdSimpleBuilder.Write``1(``0)">
            <summary>
            Writes the specified data to this builder. Size of data must be multiple of 4 bytes.
            </summary>
            <typeparam name="T">Struct type with a size multiple of 4 bytes</typeparam>
            <param name="data">The data to add to this builder</param>
        </member>
        <member name="M:Stride.Core.StrideCoreExtensions.SequenceEqualAllowNull``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>Determines whether two sequences are equal. Comparing the elements is done using the default equality comparer for their type.
            <para>Allows either parameter to be <c>null</c>.</para>
            <para>A thin wrapper around <see cref="M:System.Linq.Enumerable.SequenceEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/>.</para></summary>
            <typeparam name="T">The type of the elements of the input sequences.</typeparam>
            <param name="first">An enumerable to compare to <paramref name="second"/>.</param>
            <param name="second">An enumerable to compare to <paramref name="first"/>.</param>
            <returns><c>true</c> if one of the following is true.
            <list type="bullet">
            <item><paramref name="first"/> and <paramref name="second"/> are the same object.</item>
            <item>Neither enumerable is <c>null</c> and they have the same length and each of the elements in the enumerables compare equal pairwise.</item>
            </list>
            <para><c>false</c> otherwise.</para></returns>
        </member>
        <member name="M:Stride.Core.StrideCoreExtensions.SequenceEqualAllowNull``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>Determines whether two sequences are equal. Comparing the elements is done using the specified equality comparer.
            <para>Allows <paramref name="first"/> and/or <paramref name="second"/> to be <c>null</c>.</para>
            <para>A thin wrapper around <see cref="M:System.Linq.Enumerable.SequenceEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})"/>.</para></summary>
            <typeparam name="T">The type of the elements of the input sequences.</typeparam>
            <param name="first">An enumerable to compare to <paramref name="second"/>.</param>
            <param name="second">An enumerable to compare to <paramref name="first"/>.</param>
            <param name="comparer">The equality comparer.</param>
            <returns><c>true</c> if one of the following is true.
            <list type="bullet">
            <item><paramref name="first"/> and <paramref name="second"/> are the same object.</item>
            <item>Neither enumerable is <c>null</c> and they have the same length and each of the elements in the enumerables compare equal pairwise.</item>
            </list>
            <para><c>false</c> otherwise.</para></returns>
        </member>
        <member name="T:Stride.Core.StringExtensions">
            <summary>
            Extensions for <see cref="T:System.String"/> class.
            </summary>
        </member>
        <member name="M:Stride.Core.StringExtensions.SafeTrim(System.String)">
            <summary>
            Safely trim a string.
            </summary>
            <param name="value">The string value. can be null</param>
            <returns>The string trimmed.May be null if string was null</returns>
        </member>
        <member name="M:Stride.Core.StringExtensions.IndexOf(System.Text.StringBuilder,System.Char)">
            <summary>
            Calculates the index of a char inside the following <see cref="T:System.Text.StringBuilder"/>, equivalent of
            <see cref="M:System.String.IndexOf(System.Char)"/> for a StringBuilder.
            </summary>
            <param name="builder">The builder.</param>
            <param name="testChar">The test character.</param>
            <returns>A position to the character found, or -1 if not found.</returns>
            <exception cref="T:System.ArgumentNullException">builder</exception>
        </member>
        <member name="M:Stride.Core.StringExtensions.LastIndexOf(System.Text.StringBuilder,System.Char,System.Int32)">
            <summary>
            Calculates the last index of a char inside the following <see cref="T:System.Text.StringBuilder" />, equivalent of
            <see cref="M:System.String.LastIndexOf(System.Char)" /> for a StringBuilder.
            </summary>
            <param name="builder">The builder.</param>
            <param name="testChar">The test character.</param>
            <param name="startIndex">The start index.</param>
            <returns>A position to the character found, or -1 if not found.</returns>
            <exception cref="T:System.ArgumentNullException">builder</exception>
        </member>
        <member name="M:Stride.Core.StringExtensions.EndsWith(System.String,System.Char)">
            <summary>
            Determines whether the end of this string ends by the specified character.
            </summary>
            <param name="stringToTest">The string automatic test.</param>
            <param name="endChar">The end character.</param>
            <returns><c>true</c> if the end of this string ends by the specified character, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.StringExtensions.EndsWith(System.String,System.Char[])">
            <summary>
            Determines whether the end of this string ends by the specified characters.
            </summary>
            <param name="stringToTest">The string automatic test.</param>
            <param name="endChars">The end characters.</param>
            <returns><c>true</c> if the end of this string ends by the specified character, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Stride.Core.StringExtensions.ToFormat(System.String,System.Object[])">
            <summary>
            Extension to format a string using <see cref="M:System.String.Format(System.String,System.Object)"/> method by allowing to use it directly on a string.
            </summary>
            <param name="stringToFormat">The string automatic format.</param>
            <param name="argumentsToFormat">The arguments automatic format.</param>
            <returns>A formatted string. See <see cref="M:System.String.Format(System.String,System.Object)"/> </returns>
        </member>
        <member name="M:Stride.Core.StringExtensions.IndexOfReverse(System.String,System.Char,System.Int32)">
            <summary>
            Reports the index number, or character position, of the first occurrence of the specified Unicode character in the current String object.
            The search starts at a specified character position starting from the end and examines a specified number of character positions.
            </summary>
            <param name="text">The text.</param>
            <param name="charToFind">The character automatic find.</param>
            <param name="matchCount">The number of match before stopping. Default is 1</param>
            <returns>The character position of the value parameter for the specified character if it is found, or -1 if it is not found.</returns>
            <exception cref="T:System.ArgumentNullException">text</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">matchCount;matchCount must be >= 1</exception>
        </member>
        <member name="M:Stride.Core.StringExtensions.IndexOfReverse(System.String,System.Char,System.Int32,System.Int32,System.Int32)">
            <summary>
            Reports the index number, or character position, of the first occurrence of the specified Unicode character in the current String object.
            The search starts at a specified character position starting from the end and examines a specified number of character positions.
            </summary>
            <param name="text">The text.</param>
            <param name="charToFind">The character automatic find.</param>
            <param name="startIndexFromEnd">The starting index number for the search relative to the end of the string.</param>
            <param name="count">The number of character positions to be examined.</param>
            <param name="matchCount">The number of match before stopping. Default is 1</param>
            <returns>The character position of the value parameter for the specified character if it is found, or -1 if it is not found.</returns>
            <exception cref="T:System.ArgumentNullException">text</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            count;Count must be a positive value
            or
            startIndexFromEnd;StartIndexFromEnd must be a positive value
            or
            startIndexFromEnd;StartIndexFromEnd must be within the range of the string length
            or
            count;Count must be in the range of the string length minus the startIndexFromEnd
            </exception>
        </member>
        <member name="M:Stride.Core.StringExtensions.Contains(System.String,System.Char)">
            <summary>
            Indicate if the string contains a character.
            </summary>
            <param name="text">The text</param>
            <param name="value">The character to look for.</param>
            <returns>A boolean indicating if at least one instance of <paramref name="value"/> is present in <paramref name="text"/></returns>
        </member>
        <member name="T:Stride.Core.Threading.ConcurrentCollector`1">
            <summary>
            A collector that allows for concurrent adding of items, as well as non-thread-safe clearing and accessing of the underlying collection.
            </summary>
            <typeparam name="T">The element type in the collection.</typeparam>
        </member>
        <member name="P:Stride.Core.Threading.ConcurrentCollector`1.Items">
            <summary>
            Gets the underlying array. It is an error to access Items after adding elements, but before closing.
            </summary>
        </member>
        <member name="M:Stride.Core.Threading.ConcurrentCollector`1.Close">
            <summary>
            Consolidates all added items into a single consecutive array. It is an error to access Items after adding elements, but before closing.
            </summary>
        </member>
        <member name="M:Stride.Core.Threading.ConcurrentCollector`1.Clear(System.Boolean)">
            <summary>
            Clears the collection. If <paramref name="fastClear"/> is true, the underlying array is not cleared.
            </summary>
            <param name="fastClear"></param>
        </member>
        <member name="T:Stride.Core.Threading.ConcurrentPool`1">
            <summary>
            A concurrent object pool.
            </summary>
            <remarks>
            Circular buffer segments are used as storage. When full, new segments are added as tail. Items are only appended to the tail segment.
            When the head segment is empty, it will be discarded. After stabilizing, only a single segment exists at a time, causing no further segment allocations or locking.
            </remarks>
            <typeparam name="T">The pooled item type</typeparam>
        </member>
        <member name="F:Stride.Core.Threading.ConcurrentPool`1.Segment.Items">
            <summary>
            The array of items. Length must be a power of two.
            </summary>
        </member>
        <member name="F:Stride.Core.Threading.ConcurrentPool`1.Segment.Mask">
            <summary>
            A bit mask for calculation of (Low % Items.Length) and (High % Items.Length)
            </summary>
        </member>
        <member name="F:Stride.Core.Threading.ConcurrentPool`1.Segment.Low">
            <summary>
            The read index for Release. It is only ever incremented and safe to overflow.
            </summary>
        </member>
        <member name="F:Stride.Core.Threading.ConcurrentPool`1.Segment.High">
            <summary>
            The write index for Acquire. It is only ever incremented and safe to overflow.
            </summary>
        </member>
        <member name="F:Stride.Core.Threading.ConcurrentPool`1.Segment.Count">
            <summary>
            The current number of stored items, used to check when to change head and tail segments.
            When it reaches zero, the segment can be safely discarded.
            </summary>
        </member>
        <member name="F:Stride.Core.Threading.ConcurrentPool`1.Segment.Next">
            <summary>
            The next segment to draw from, after this one is emptied.
            </summary>
        </member>
        <member name="M:Stride.Core.Threading.ConcurrentPool`1.#ctor(System.Func{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.Threading.ConcurrentPool`1"/> class.
            </summary>
            <param name="factory">The factory method for creating new items, should the pool be empty.</param>
        </member>
        <member name="M:Stride.Core.Threading.ConcurrentPool`1.Acquire">
            <summary>
            Draws an item from the pool.
            </summary>
        </member>
        <member name="M:Stride.Core.Threading.ConcurrentPool`1.Release(`0)">
            <summary>
            Releases an item back to the pool.
            </summary>
            <param name="item">The item to release to the pool.</param>
        </member>
        <member name="M:Stride.Core.Threading.Dispatcher.ForBatched``1(System.Int32,``0)">
            <summary>
            The call producing the least amount of overhead, other methods are built on top of this one.
            </summary>
            <param name="items">
            The amount of items to process,
            this total will be split into multiple batches,
            each batch runs <typeparamref name="TJob"/>.<see cref="M:Stride.Core.Threading.Dispatcher.IBatchJob.Process(System.Int32,System.Int32)"/> with the range of items for that batch
            </param>
            <param name="batchJob">
            An object shared across all threads running this job, if TJob is a struct each threads will work off of a unique copy of it
            </param>
            <exception cref="T:System.Exception">If any of the threads executing this job threw an exception, it will be re-thrown in the caller's scope</exception>
        </member>
        <member name="T:Stride.Core.Threading.Dispatcher.IBatchJob">
            <summary>
            An implementation of a job running in batches.
            Implementing this as a struct improves performance as the JIT would have an easier time inlining the call.
            Implementing this as a class would provide more utility as this object would be shared across all threads,
            allowing for interlocked operations and other communication between threads.
            </summary>
        </member>
        <member name="M:Stride.Core.Threading.Dispatcher.IBatchJob.Process(System.Int32,System.Int32)">
            <summary>
            Execute this job over a range of items
            </summary>
            <param name="start">the start of the range</param>
            <param name="endExclusive">the end of the range, iterate as long as i &lt; endExclusive</param>
        </member>
        <member name="T:Stride.Core.Threading.IPooledClosure">
            <summary>
            Interface implemented by pooled closure types through the AssemblyProcessor.
            Enables <see cref="T:Stride.Core.Threading.PooledDelegateHelper"/> to keep closures and delegates alive.
            </summary>
        </member>
        <member name="T:Stride.Core.Threading.PooledAttribute">
            <summary>
            Allows delegates passed as parameters to be allocated from a pool and recycled after the method call.
            To prevent recycling, use <see cref="M:Stride.Core.Threading.PooledDelegateHelper.AddReference(System.Delegate)"/> and <see cref="M:Stride.Core.Threading.PooledDelegateHelper.Release(System.Delegate)"/> to hold onto references to the delegate.
            </summary>
        </member>
        <member name="T:Stride.Core.Threading.PooledDelegateHelper">
            <summary>
            Helper class to add and remove references to pooled delegates, passed as parameters with <see cref="T:Stride.Core.Threading.PooledAttribute"/>>.
            </summary>
        </member>
        <member name="M:Stride.Core.Threading.PooledDelegateHelper.AddReference(System.Delegate)">
            <summary>
            Adds a reference to a delegate, keeping it from being recycled. Does nothing if the delegate is not drawn from a pool.
            </summary>
            <param name="pooledDelegate">The pooled delegate</param>
        </member>
        <member name="M:Stride.Core.Threading.PooledDelegateHelper.Release(System.Delegate)">
            <summary>
            Removes a reference from a delegate, allowing it to be recycled. Does nothing if the delegate is not drawn from a pool.
            </summary>
            <param name="pooledDelegate">The pooled delegate</param>
        </member>
        <member name="T:Stride.Core.Threading.ThreadPool">
            <summary>
            Thread pool for scheduling sub-millisecond actions, do not schedule long-running tasks.
            Can be instantiated and generates less garbage than dotnet's.
            </summary>
        </member>
        <member name="F:Stride.Core.Threading.ThreadPool.Instance">
            <summary>
            The default instance that the whole process shares, use this one to avoid wasting process memory.
            </summary>
        </member>
        <member name="P:Stride.Core.Threading.ThreadPool.IsWorkedThread">
            <summary> Is the thread reading this property a worker thread </summary>
        </member>
        <member name="F:Stride.Core.Threading.ThreadPool.WorkerThreadsCount">
            <summary> Amount of threads within this pool </summary>
        </member>
        <member name="P:Stride.Core.Threading.ThreadPool.WorkScheduled">
            <summary> Amount of work waiting to be taken care of </summary>
        </member>
        <member name="P:Stride.Core.Threading.ThreadPool.CompletedWork">
            <summary> Amount of work completed </summary>
        </member>
        <member name="P:Stride.Core.Threading.ThreadPool.ThreadsBusy">
            <summary> Amount of threads currently executing work items </summary>
        </member>
        <member name="M:Stride.Core.Threading.ThreadPool.QueueWorkItem(System.Action,System.Int32)">
            <summary>
            Queue an action to run on one of the available threads,
            it is strongly recommended that the action takes less than a millisecond.
            </summary>
        </member>
        <member name="M:Stride.Core.Threading.ThreadPool.QueueUnsafeWorkItem(System.Object,,System.Int32)">
            <summary>
            Queue some work item to run on one of the available threads,
            it is strongly recommended that the action takes less than a millisecond.
            Additionally, the parameter provided must be fixed from this call onward until the action has finished executing
            </summary>
        </member>
        <member name="M:Stride.Core.Threading.ThreadPool.TryCooperate">
            <summary>
            Attempt to steal work from the threadpool to execute it from the calling thread.
            If you absolutely have to block inside one of the threadpool's thread for whatever
            reason do a busy loop over this function.
            </summary>
        </member>
        <member name="T:Stride.Core.Threading.ThreadPool.SemaphoreW">
            <summary>
            Mostly lifted from dotnet's LowLevelLifoSemaphore
            </summary>
        </member>
        <member name="F:Stride.Core.Threading.ThreadPool.SemaphoreW.lifoSemaphore">
            <summary>
            Eideren: Is not actually lifo, standard 2.0 doesn't have such constructs right now
            </summary>
        </member>
        <member name="T:Stride.Core.Threading.ThreadPool.SemaphoreW.PaddingFalseSharing">
            <summary>Padding structure used to minimize false sharing</summary>
        </member>
        <member name="F:Stride.Core.Threading.ThreadPool.SemaphoreW.CACHE_LINE_SIZE">
            <summary>A size greater than or equal to the size of the most common CPU cache lines.</summary>
        </member>
        <member name="P:Stride.Core.ThreadThrottler.MinimumElapsedTime">
            <summary>
            Set this to zero to disable throttling.
            Minimum amount of time allowed between each 'update'.
            Conversion is lossy, getting this value back might not return the same value you set it to.
            </summary>
            <remarks>
            See <see cref="M:Stride.Core.ThreadThrottler.Throttle(System.Int64@)"/>'s summary for an idea of how this property is used.
            </remarks>
        </member>
        <member name="P:Stride.Core.ThreadThrottler.Type">
            <summary>
            The type of throttler used
            </summary>
        </member>
        <member name="M:Stride.Core.ThreadThrottler.#ctor">
            <summary>
            Create an instance of this class without throttling and defaulting to <see cref="F:Stride.Core.ThreadThrottler.ThrottlerType.Standard"/> mode.
            See <see cref="M:Stride.Core.ThreadThrottler.SetToPreciseAuto"/> and <see cref="M:Stride.Core.ThreadThrottler.SetToPreciseManual(System.Int64)"/> to set it to other modes.
            </summary>
        </member>
        <member name="M:Stride.Core.ThreadThrottler.#ctor(System.TimeSpan)">
            <summary>
            Create an instance of this class set to <see cref="F:Stride.Core.ThreadThrottler.ThrottlerType.Standard"/> mode.
            See <see cref="M:Stride.Core.ThreadThrottler.SetToPreciseAuto"/> and <see cref="M:Stride.Core.ThreadThrottler.SetToPreciseManual(System.Int64)"/> to set it to other modes.
            </summary>
            <param name="minimumElapsedTimeParam">Minimum time allowed between each call</param>
        </member>
        <member name="M:Stride.Core.ThreadThrottler.#ctor(System.Int32)">
            <summary>
            Create an instance of this class set to <see cref="F:Stride.Core.ThreadThrottler.ThrottlerType.Standard"/> mode.
            See <see cref="M:Stride.Core.ThreadThrottler.SetToPreciseAuto"/> and <see cref="M:Stride.Core.ThreadThrottler.SetToPreciseManual(System.Int64)"/> to set it to other modes.
            </summary>
            <param name="frequencyMax">The maximum frequency this object allows</param>
        </member>
        <member name="M:Stride.Core.ThreadThrottler.SetMaxFrequency(System.Int32)">
            <summary>
            Thread will be blocked to stay within the given amount of 'updates' per second.
            </summary>
            <remarks>
            It effectively transforms the given parameter from frame per second
            to the internal closest second per frame equivalent for it.
            </remarks>
        </member>
        <member name="M:Stride.Core.ThreadThrottler.SetToStandard">
            <summary>
            Saves CPU cycles while waiting, this one is the least precise mode but the lightest.
            <para/>
            If you aren't sure, use this one !
            </summary>
        </member>
        <member name="M:Stride.Core.ThreadThrottler.SetToPreciseAuto">
            <summary>
            Most of the timings will be perfectly precise to the system timer at the cost of higher CPU usage.
            <para/>
            If you aren't sure, use <see cref="M:Stride.Core.ThreadThrottler.SetToStandard"/> instead.
            </summary>
            <remarks>
            This mode uses and automatically scales a spinwait window based on system responsiveness to find the right balance
            between Thread.Sleep calls and spinwaiting.
            </remarks>
        </member>
        <member name="M:Stride.Core.ThreadThrottler.SetToPreciseManual(System.Int64)">
            <summary>
            Depending on the provided value, timings will be perfectly precise to the system timer at the cost of higher CPU usage.
            <para/>
            If you aren't sure, use <see cref="M:Stride.Core.ThreadThrottler.SetToStandard"/> instead.
            </summary>
            <remarks>
            This mode uses the given value as the duration of the spinwait window.
            The format of this value is based on <see cref="T:System.Diagnostics.Stopwatch"/>.<see cref="F:System.Diagnostics.Stopwatch.Frequency"/>
            </remarks>
        </member>
        <member name="M:Stride.Core.ThreadThrottler.Throttle(System.TimeSpan@)">
            <summary>
            Forces the thread to sleep when the time elapsed since last call is lower than <see cref="P:Stride.Core.ThreadThrottler.MinimumElapsedTime"/>,
            it will sleep for the time remaining to reach <see cref="P:Stride.Core.ThreadThrottler.MinimumElapsedTime"/>.
            <para/> 
            Use this function inside a loop when you want to lock it to a specific rate.
            </summary>
            <param name="elapsedTimeSpan">
            The time since the last call,
            returns a value close to <see cref="P:Stride.Core.ThreadThrottler.MinimumElapsedTime"/>, 
            use this value as your delta time.
            </param>
            <returns><c>True</c> if this class had to throttle, <c>false</c> otherwise</returns>
        </member>
        <member name="M:Stride.Core.ThreadThrottler.Throttle(System.Double@)">
            <summary>
            Forces the thread to sleep when the time elapsed since last call is lower than <see cref="P:Stride.Core.ThreadThrottler.MinimumElapsedTime"/>,
            it will sleep for the time remaining to reach <see cref="P:Stride.Core.ThreadThrottler.MinimumElapsedTime"/>.
            <para/> 
            Use this function inside a loop when you want to lock it to a specific rate.
            </summary>
            <param name="elapsedInSeconds">
            The time since the last call in seconds,
            returns a value close to <see cref="P:Stride.Core.ThreadThrottler.MinimumElapsedTime"/>, 
            use this value as your delta time.
            </param>
            <returns><c>True</c> if this class had to throttle, <c>false</c> otherwise</returns>
        </member>
        <member name="M:Stride.Core.ThreadThrottler.Throttle(System.Int64@)">
            <summary>
            Forces the thread to sleep when the time elapsed since last call is lower than
            <see cref="P:Stride.Core.ThreadThrottler.MinimumElapsedTime"/>, it will sleep for the time remaining to reach that value.
            <para/> 
            Use this function inside a loop when you want to lock it to a specific rate.
            </summary>
            <param name="elapsedInSwFreq">
            The time since the last call in <see cref="T:System.Diagnostics.Stopwatch"/>.<see cref="F:System.Diagnostics.Stopwatch.Frequency"/>
            returns a value close to <see cref="P:Stride.Core.ThreadThrottler.MinimumElapsedTime"/>, 
            use this value as your delta time.
            </param>
            <returns><c>True</c> if this class had to throttle, <c>false</c> otherwise</returns>
        </member>
        <member name="T:Stride.Core.Utilities">
            <summary>
            Utility class.
            </summary>
        </member>
        <member name="M:Stride.Core.Utilities.AllocateMemory(System.Int32,System.Int32)">
            <summary>
            Allocate an aligned memory buffer.
            </summary>
            <param name="sizeInBytes">Size of the buffer to allocate.</param>
            <param name="align">Alignment, a positive value which is a power of 2. 16 bytes by default.</param>
            <returns>A pointer to a buffer aligned.</returns>
            <remarks>
            To free this buffer, call <see cref="M:Stride.Core.Utilities.FreeMemory(System.IntPtr)"/>
            </remarks>
        </member>
        <member name="M:Stride.Core.Utilities.AllocateClearedMemory(System.Int32,System.Byte,System.Int32)">
            <summary>
            Allocate an aligned memory buffer and clear it with a specified value (0 by defaault).
            </summary>
            <param name="sizeInBytes">Size of the buffer to allocate.</param>
            <param name="clearValue">Default value used to clear the buffer.</param>
            <param name="align">Alignment, 16 bytes by default.</param>
            <returns>A pointer to a buffer aligned.</returns>
            <remarks>
            To free this buffer, call <see cref="M:Stride.Core.Utilities.FreeMemory(System.IntPtr)"/>
            </remarks>
        </member>
        <member name="M:Stride.Core.Utilities.IsMemoryAligned(System.IntPtr,System.Int32)">
            <summary>
            Determines whether the specified memory pointer is aligned in memory.
            </summary>
            <param name="memoryPtr">The memory pointer.</param>
            <param name="align">The align.</param>
            <returns><c>true</c> if the specified memory pointer is aligned in memory; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Stride.Core.Utilities.FreeMemory(System.IntPtr)">
            <summary>
            Free an aligned memory buffer.
            </summary>
            <remarks>
            The buffer must have been allocated with <see cref="M:Stride.Core.Utilities.AllocateMemory(System.Int32,System.Int32)"/>
            </remarks>
        </member>
        <member name="M:Stride.Core.Utilities.Dispose``1(``0@)">
            <summary>
            If non-null, disposes the specified object and set it to null, otherwise do nothing.
            </summary>
            <param name="disposable">The disposable.</param>
        </member>
        <member name="M:Stride.Core.Utilities.ReadStream(System.IO.Stream)">
            <summary>
              Read stream to a byte[] buffer
            </summary>
            <param name = "stream">input stream</param>
            <returns>a byte[] buffer</returns>
        </member>
        <member name="M:Stride.Core.Utilities.GetHashCode(System.Collections.IDictionary)">
            <summary>
            Computes a hashcode for a dictionary.
            </summary>
            <returns>Hashcode for the list.</returns>
        </member>
        <member name="M:Stride.Core.Utilities.GetHashCode(System.Collections.IEnumerable)">
            <summary>
            Computes a hashcode for an enumeration
            </summary>
            <param name="it">An enumerator.</param>
            <returns>Hashcode for the list.</returns>
        </member>
        <member name="M:Stride.Core.Utilities.GetHashCode(System.Collections.IEnumerator)">
            <summary>
            Computes a hashcode for an enumeration
            </summary>
            <param name="it">An enumerator.</param>
            <returns>Hashcode for the list.</returns>
        </member>
        <member name="M:Stride.Core.Utilities.Compare``2(System.Collections.Generic.IDictionary{``0,``1},System.Collections.Generic.IDictionary{``0,``1})">
            <summary>
            Compares two collection, element by elements.
            </summary>
            <param name="first">The collection to compare from.</param>
            <param name="second">The colllection to compare to.</param>
            <returns>True if lists are identical (but no necessarely of the same time). False otherwise.</returns>
        </member>
        <member name="M:Stride.Core.Utilities.Compare``2(Stride.Core.Collections.SortedList{``0,``1},Stride.Core.Collections.SortedList{``0,``1})">
            <summary>
            Compares two collection, element by elements.
            </summary>
            <param name="first">The collection to compare from.</param>
            <param name="second">The colllection to compare to.</param>
            <returns>True if lists are identical (but not necessarily in the same order). False otherwise.</returns>
            <remarks>Concrete SortedList is favored over interface to avoid enumerator object allocation.</remarks>
        </member>
        <member name="M:Stride.Core.Utilities.Swap``1(``0@,``0@)">
            <summary>
            Swaps the value between two references.
            </summary>
            <typeparam name="T">Type of a data to swap.</typeparam>
            <param name="left">The left value.</param>
            <param name="right">The right value.</param>
        </member>
        <member name="M:Stride.Core.Utilities.IterateTree``1(``0,System.Func{``0,System.Collections.Generic.IEnumerable{``0}})">
            <summary>
            Linq assisted full tree iteration and collection in a single line.
            Warning, could be slow.
            </summary>
            <typeparam name="T">The type to iterate.</typeparam>
            <param name="root">The root item</param>
            <param name="childrenF">The function to retrieve a child</param>
        </member>
        <member name="M:Stride.Core.Utilities.ConvertRawToTimestamp(System.Int64)">
            <summary>
            Converts a <see cref="T:System.Diagnostics.Stopwatch" /> raw time to a <see cref="T:System.TimeSpan" />.
            </summary>
            <param name="delta">The delta.</param>
            <returns>The <see cref="T:System.TimeSpan" />.</returns>
        </member>
        <member name="T:Stride.Core.ValidateValueCallback`1">
            <summary>
            Delegate ValidateValueCallback used by <see cref="T:Stride.Core.ValidateValueMetadata"/>.
            </summary>
            <param name="value">The value to validate and coerce.</param>
        </member>
        <member name="T:Stride.Core.ValidateValueMetadata`1">
            <summary>
            A metadata to allow validation/coercision of a value before storing the value into the <see cref="T:Stride.Core.PropertyContainer"/>.
            </summary>
        </member>
        <member name="M:Stride.Core.ValidateValueMetadata`1.#ctor(Stride.Core.ValidateValueCallback{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Stride.Core.ValidateValueMetadata`1"/> class.
            </summary>
            <param name="validateValueCallback">The validate value callback.</param>
            <exception cref="T:System.ArgumentNullException">validateValueCallback</exception>
        </member>
        <member name="P:Stride.Core.ValidateValueMetadata`1.ValidateValueCallback">
            <summary>
            Gets the validate value callback.
            </summary>
            <value>The validate value callback.</value>
        </member>
        <member name="T:Stride.StrideVersion">
            <summary>
            Internal version used to identify Stride version.
            </summary>
            <remarks>
            During package build, PackageUpdateVersionTask is updating that file and expect some specific text regex so be careful if you change any of this.
            </remarks>
        </member>
        <member name="F:Stride.StrideVersion.PublicVersion">
            <summary>
            The version used by editor for display purpose. The 4th digit will automatically be replaced by the git height when building packages with Stride.Build.
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.AssemblyVersion">
            <summary>
            The current assembly version as text, currently same as <see cref="F:Stride.StrideVersion.PublicVersion"/>.
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.NuGetVersionSimple">
            <summary>
            The NuGet package version without special tags.
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.NuGetVersion">
            <summary>
            The NuGet package version.
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.NuGetVersionSuffix">
            <summary>
            The NuGet package suffix (i.e. -beta).
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.BuildMetadata">
            <summary>
            The build metadata, usually +g[git_hash] during package. Automatically set by Stride.GitVersioning.GenerateVersionFile.
            </summary>
        </member>
        <member name="F:Stride.StrideVersion.AssemblyInformationalVersion">
            <summary>
            The informational assembly version, containing -beta01 or +g[git_hash] during package.
            </summary>
        </member>
        <member name="T:Stride.PublicKeys">
            <summary>
            Assembly signing information.
            </summary>
        </member>
        <member name="F:Stride.PublicKeys.Default">
            <summary>
            Assembly name suffix that contains signing information.
            </summary>
        </member>
    </members>
</doc>
